Код передачи файлов правильный в моем PHP? - PullRequest
0 голосов
/ 03 июля 2011

У меня есть страница , которая должна быть загружена для песни.Загрузка работает в Firefox для меня, но в Chrome и Safari ничего не происходит .. Вот мой код... любые идеи или помощь будут оценены ...

Ответы [ 2 ]

3 голосов
/ 03 июля 2011

readfile возвращает количество отправленных байтов, и его не нужно распечатывать. Вы должны удалить строку print($file);. В противном случае вы отправите больше байтов, чем указано в заголовке Content-Length, и это приведет к тому, что некоторые клиенты HTTP откажутся от вашего ответа.

Также обратите внимание на странные имена файлов, такие как

"\r\nLocation: http://evil.com\r\n\r\n<script>alert('XSS');</script>

Вы правильно с этим справляетесь?

0 голосов
/ 02 февраля 2012

Смотрите ваш синтаксис рядом с

header('Content-Disposition: attachment; filename="'.$file_name_with_space. '"');

ИЛИ это может быть

header("Content-Disposition: attachment; filename='".$file_name_with_space."'" );

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

Работает во всех браузерах. IE, FF, Chrome, SAFARI Я проверил это лично, так что вперед.

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