Столкнулся с проблемой следующего характера:
Есть
tif или
mdi файл, лежащий на сервере.
При попытке отдать файл пользователю, через web, скрипт отваливается на выводе.
Код примерно следующий:
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);
echo file_get_contents("path/to/file.tif");
Скрипт перестает работать в момент самого вывода с помощью
echo
.
Замена
echo
на
print(file_get_contents("path/to/file.tif"))
или
readfile("path/to/file.tif")
проблему не решает.
Включение вывода всех ошибок результата не дает, ошибок не выводится.
Вывод других типов файлов -
pdf/docx/xlsx/прочее работает, файл корректно отдается пользователю для скачивания
По логам apache пользователь получает ровно столько байт, сколько весит сам проблемный файл, но в браузере выдается "Невозможно отобразить страницу"
Есть подозрение, что дело в бинарном представлении tif и mdi, но что именно - накопать не могу.
Спасибо всем откликнувшимся.