2015-09-07 3 views
0

Я пытаюсь загрузить pdf-файл с использованием php. Я могу загрузить текстовый файл и изображение и My PHP Код:php pdf загрузка файла: не удалось загрузить документ PDF

header("Content-Type: application/octet-stream"); 

$file = $_GET["file"] .".pdf"; 
header("Content-Disposition: attachment; filename=" . urlencode($file));  
header("Content-Type: application/octet-stream"); 
header("Content-Type: application/download"); 
header("Content-Type: application/pdf"); // pdf might change to another format eg. doc,docx 
header("Content-Description: File Transfer");    
header("Content-Length: " . filesize($file)); 
flush(); // this doesn't really matter. 
$fp = fopen($file, "r"); 
while (!feof($fp)) 
{ 
echo fread($fp, 65536); 
flush(); // this is essential for large downloads 
} 
fclose($fp); 

и здесь является HTML

часть:

<a href="download.php?file=abc">Download CV</a> 

В моем случае я могу скачать файл PDF, и он также показывает размер памяти, но когда я открыл его, покажите мне ошибку:

Не удалось загрузить PDF Document

Я не получаю какие-либо ошибки, и я попытался изменить пределы памяти и все, но не работает. Любая помощь будет действительно оценена.

EDIT:

Мне нужно, чтобы загрузить весь формат файл с некоторыми простыми изменениями в моем коде. пример:

header("Content-Type: application/pdf"); // pdf might change to another format eg. doc,docx 

Я не хочу, чтобы сохранить файл PDF, который отображается в браузере, так как в случае других форматов я не могу напрямую сохранить из браузера.

Когда я попытался открыть файл из папки загрузки он показывает ошибку как:

Adobe читатель не может открыть имя файла abc.pdf, потому что это либо не поддерживаемый тип файла или потому что файл поврежден

+0

если я могу спросить, зачем вам этот заголовок заголовка («Content-Type: application/download»); – Satya

+0

Возможный дубликат [Chrome имеет сообщение об ошибке «Не удалось загрузить документ PDF» в встроенных PDF-файлах] (http://stackoverflow.com/questions/5670785/chrome-has-failed-to-load-pdf-document-error-message -on-inline-pdfs) – Saty

+0

@Saty нет, он точно не решает мою проблему. Он отображает содержимое браузера, хотя я могу сохранить его, потому что это файл PDF. Но не с любыми другими форматами –

ответ

0

Вы можете попробовать это?

Изменить ваш

echo fread($fp, 65536); 

в

echo fread($fp, filesize($file)); 

Моя догадка длина файла в формате PDF отличается от того, что вы указали.

+0

спасибо за ответ, но он не работает –

Смежные вопросы