Не могу передать TIFF или MODI файл с PHP

Этот фрагмент должен передавать файл TIFF или MODI с веб-сервера пользователю по сети

header('Content-Description: File Transfer');
header('Content-Type: ' . $file_mime_type);
header('Content-Disposition: attachment; filename="' . $file_name . '"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . $file_size);

# till this moment all is fine
echo file_get_contents("path/to/file.tif");
# script fails on line above, and doesnt reach this place

когда формат файла не TIFF или MODI, все работает нормально, и клиентский браузер начинает загрузку файла (docx/xlsx/pdf/ и т. д.), когда пользователь пытается загрузить TIFF или MODI, скрипт завершается неудачно без каких-либо ошибок. Пробовал печатать (file_get_contents("path/to/file.tif")); и readfile("путь / к / файлу.tif"); вместо эха результат тот же

1 ответ

Когда я начинаю использовать "универсальный" Content-Type, все работает нормально

header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream'); //universal Content-Type
header('Content-Disposition: attachment; filename="' . $file_name . '"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . $file_size);

echo file_get_contents("path/to/file.tif");
Другие вопросы по тегам