Я годами использовал 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 МБ), это не совсем желательная ситуация, и я хотел бы, чтобы загружаемый файл былдействие по умолчанию.
Любые мысли высоко ценятся.
Спасибо!