Загрузка PDF с помощью PHP, заголовок расположения содержимого вызывает сетевую ошибку - PullRequest
0 голосов
/ 10 декабря 2018

Я годами использовал PHP для маскировки каталога для загрузки PDF с помощью следующего кода без проблем.Затем я обновил с PHP 5.6 до 7.2 вчера, и код больше не работает, но я застрял, выясняя, в чем проблема.

В настоящее время, если я нажимаю на ссылку загрузки, файл загружается, но затемв самом конце появляется сообщение об ошибке «Ошибка при сбое в сети» (в Chrome) и «Сетевое соединение прервано» (в Safari), и файл не может быть открыт.

журнал ошибок на сервере пуст.

Ниже приведен фрагмент кода:

header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Type: application/pdf");
header("Content-Disposition: attachment; filename=".$filename.";");
header("Content-Length: ".filesize($filepath.$filename)."");
ob_end_flush();
readfile($filepath.$filename);

Теперь, если я изменю следующее:

Content-Disposition: attachment;

на:

Content-Disposition: inline;

Тогда вышеприведенное работает, но, поскольку некоторые из файлов PDF имеют большой размер (их размер варьируется от 2 МБ до 80 МБ), это не совсем желательная ситуация, и я хотел бы, чтобы загружаемый файл былдействие по умолчанию.

Любые мысли высоко ценятся.

Спасибо!

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