Ошибка принудительной загрузки php-файла - PullRequest
0 голосов
/ 31 марта 2012

Я пытаюсь вызвать загрузку. вот мой код:

 <?PHP
 // Define the path to file
 $file = 'http://myimage.com/users/test/uploads/1234.png';

 if(!file)
 {
     // File doesn't exist, output error
     die('file not found');
 }
 else
 {
     header('Content-disposition: attachment; filename='.$file);
    header('Content-type: application/octet-stream');
    readfile($file);
}
?>

Вот ошибка, которую я получаю в firefox: «Файл изображения»: /// C: / Users / Имя пользователя / Загрузки / 1234% 20 (4) .png «не может быть отображен, поскольку содержит ошибки». % 20 (4) - это пробел, и, вероятно, четвертая копия, которую я пытался загрузить.

Ответы [ 2 ]

1 голос
/ 31 марта 2012

Ваш Content-Type не так.Все, что необходимо для принудительной загрузки, это Content-Disposition: attachment;измените его на image/png вместо application/octet-stream.

Кроме того, у вас есть пробел перед открывающим тегом <?php.Вы должны убрать это.

Кроме того, ваша проверка «файл существует» не делает то, что вы думаете, что он делает.Используйте file_exists, чтобы проверить, существует ли файл, и запомните знак $.

0 голосов
/ 31 марта 2012

Убедитесь, что у вас нет пустых строк вне тегов <?php ?>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...