PDF-загрузка с PHP -> ERR_CONTENT_LENGTH_MISMATCH
Я хотел бы загрузить PDF с PHP с моего сервера, который также загружается через PDF. Хотя это работает с некоторыми файлами, я получаю следующее сообщение об ошибке с отдельными файлами:
ERR_CONTENT_LENGTH_MISMATCH
Это моя функция загрузки:
if($_GET['funktion'] == 'downloadallgemein')
{
$filename = basename($dateiname);
$path = '/kunden/261105_71522/webseiten/dev.delst/uploads/'.$filename.''; // the file made available for download via this PHP file
if (file_exists($path)) {
$mm_type="application/octet-stream"; // modify accordingly to the file type of $path, but in most cases no need to do so
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: " . $mm_type);
header("Content-Length: " .(string)(filesize($path)) );
header('Content-Disposition: attachment; filename="'.basename($path).'"');
header("Content-Transfer-Encoding: binary\n");
readfile($path); // outputs the content of the file
exit();
}
else
echo'Datei wurde nicht auf dem Server gefunden';
}
Если я удаляю заголовок ("Content-Length: " .(Строка)(размер файла ($path))); загрузка работает, но PDF-файл поврежден и не может быть открыт.
Путь правильный и файл находится на сервере. Так что загрузка работает..
Что я делаю неправильно?
1 ответ
заголовок ('Content-Type: application / pdf');
header ('Content-Disposition: attachment; filename = "'. basename ($ filename). '"');
header ('Content-Length:'. filesize ($ filename));
ReadFile($ файла);
Я использовал эти заголовки для загрузки PDF в моем файле PHP