Я собрал базовый PHP-скрипт, который при запуске должен запускать загрузку файла, хранящегося на сервере. Я принял к сведению с http://php.net/manual/en/function.readfile.php для использования функции readfile и использовал идентичный код.Загрузите скрипт в результате 404 страницы
Это было раньше, но теперь, внезапно, я начал получать 404 страницы вместо этого. Ниже фрагмент кода, что у меня есть:
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($serverPath));
readfile($serverPath);
exit(0);
Когда я вставляю отладки сценариев между ними, я могу видеть их, наряду с фантастическими данными, которые readfile
функция получает из файла, как файлы PDF. Но сами по себе это дает мне 404 страницы без каких-либо ошибок/предупреждений.
Может ли кто-нибудь указать мне любую проблему, которую я имею в коде, или любую вещь, на которую я могу смотреть? Любые указатели были бы очень полезны, так как я провел почти весь день через форумы и отлаживал, и все же нигде не приближался к какому-либо решению.
Edit:
Ниже приведены заголовки ответа, полученные от сервера:
Date: Tue, 21 Feb 2017 23:01:50 GMT
Server: Apache/2.2.31 (Unix) mod_ssl/2.2.31 OpenSSL/1.0.1e-fips mod_bwlimited/1.4
X-Powered-By: PHP/5.4.45
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, max-age=0
Pragma: no-cache
Content-Disposition: attachment; filename="QM-1.pdf"
Keep-Alive: timeout=2, max=150
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/octet-stream
Edit 2:
Итак, я попробовал LOCALHOST подход, а код действительно работает отлично в моей местной среде. Версии PHP одинаковы в обоих местах. Кроме того, любые указатели, где я должен смотреть на уровень сервера, чтобы найти причину такого поведения?
попытайтесь изменить свой Content-Type в приложении/pdf. Может быть, проблема здесь. Также я думаю, что эти ссылки похожи на вашу ситуацию: http://stackoverflow.com/a/10088979/6066986 http://stackoverflow.com/a/13570935/6066986 – Grynets
@ Grynets Пробовал PDF-вариант, а также проверял параметры файлов, никакого успеха ни с одним из них. – Prateek
Что-нибудь изменилось на вашем сервере? Может быть, некоторые разрешения? – Grynets