У меня проблема с Mozilla Firefox в этом случае. Я создаю файл на лету, а затем пытаюсь загрузить файл и затем удалить его с сервера. Проблема в том, что Firefox говорит, что файл не существует, хотя я вижу, что он создается на сервере. Chrome и Opera работают отлично.
версия Firefox: 58.0.2
Любые иды, что должно быть настроено для Firefox?
header('location: /path/'.$name.'.pptx');
header('Content-Disposition: attachment; filename="' .basename($name).'.pptx"');
ob_start();
flush();
sleep(5);
unlink($name.'.pptx');
Прежде всего, просто для здравомыслия, пожалуйста, используйте Location
вместо location
,
Кроме того, согласно моему пониманию, как только вы отправите Location
заголовок, браузер перенаправляет на указанный URL. Когда браузер перенаправил на другую страницу, я чувствую, что все заголовки поста Location будут представлены бесполезными. URL-адрес, с которого вы скачиваете, должен отправить Content-Disposition
заголовок. Кроме того, я бы предложил добавить заголовки Content-Type
а также Content-Length
на URL для загрузки.
Других решений пока нет …