2015-04-27 2 views
1

При загрузке .jpg файлов по URL-адресу на моем сайте файл становится поврежденным. Я не тестировал много файлов, загружающих файл t.pdf. Я вижу следующее сообщение об ошибке в файле:Коррекция файла PHP при загрузке файлов .jpg?

б> Предупреждение: размер файла() [function.filesize]: стат Сбой sunny.jpg в /главная/содержание/91/4761691/HTML/страницы/download.php на линии

линии 89 является функцией размера файла(), как показано ниже ...

$ID=stripslashes($_GET['recordid']); 
$file = $_GET['file']; 
// the absolute path to your directory storing your files. 
$path = '../photos/' . $ID . '/'; 
header("Pragma: public"); 
header("Expires: 0"); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Content-Type: application/force-download"); 
//header("Content-Disposition: attachment; filename=$file"); 
header('Content-Disposition: attachment;filename="'.$file.'"'); 
header("Content-Description: File Transfer"); 
header('Accept-Ranges: bytes'); 
header('Content-Length: ' . filesize($file)); <========== line 89 
readfile($path.$file); 

Любые идеи о том, почему это не удается и как обращаться?

+0

Каково значение '$ path. $ File'? –

ответ

2

Вы пишете readfile($path.$file); для вывода файла, поэтому я предполагаю, что вы также должны написать filesize($path.$file);, чтобы получить размер файла того же файла.

header('Content-Length: ' . filesize($path.$file)); 
readfile($path.$file); 
+0

Похоже, что это получилось, спасибо! Есть ли причина, по которой мой браузер считает, что файл является .wav-файлом по умолчанию, но открывается приложением для просмотра изображений? Моя ассоциация файлов установлена ​​для приложения для просмотра изображений ... –

+0

Это может иметь какое-то отношение к типу Content-Type, который вы распространяете ('application/force-download'). Попробуйте указать здесь соответствующий тип контента. – jeromegamez

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