Firefox 7 отказывается загружать файл, возвращаемый PHP - PullRequest
1 голос
/ 26 октября 2011

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

Пример:

Допустим, у меня есть ссылка http://example.com/download/1, возвращающая довольно обычный 800KB .ZIP-файл, с:

header("Content-Type: application/octet-stream"); 
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");    
header("Content-Disposition: attachment; filename=" .trim($filename). "");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " .filesize($filePath). ")"); 
readfile($filePath);
flush();

Каждый возможный браузер, даже более старые версии Firefox, начинают загрузку файла как обычно. Firefox 7 выдает «Поврежденная ошибка содержимого».

Кто-нибудь замечает похожее поведение? Любые возможные решения?

Ответы [ 2 ]

3 голосов
/ 26 октября 2011

У вас есть лишнее ) в поле content-length. Это может испортить размер файла, который браузер ожидает от загрузки, и вызвать ошибку.

0 голосов
/ 26 октября 2011

Кажется, у вас есть дополнительный ) в заголовке Content-Length

Это:

header("Content-Length: " .filesize($filePath). ")"); 

должно быть

header("Content-Length: " .filesize($filePath). ""); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...