PHP - открытие загруженных файлов DOCX с правильным типом MIME

76
5

У меня есть пользователи, которые загружают файлы DOCX, которые я предоставляю для загрузки. Проблемами, которые мы испытывали, являются неизвестные типы MIME DOCX файлов, которые заставляют IE открывать эти документы как Zip файлы.


Он работает на сервере Windows/IIS.


Поскольку это общий хост, я не могу изменить настройки сервера.


Я думал, что могу просто написать код, который будет обрабатывать файлы DOCX, возможно, пользовательский вывод:


if (extension=docx) {

header("Content-Disposition: attachment; etc)
header('Content-Type: application/application/vnd.openxmlformats-officedocument.wordprocessingml.document');

//Output the file contents etc

}


Будет ли это жизнеспособным решением? Если да, может кто-то помочь заполнить пробелы?


(PS Я знаю, что приведенный выше синтаксис неверен, просто быстрый пример)

спросил(а) 2021-01-28T00:41:11+03:00 3 месяца, 1 неделя назад
1
Решение
76

Это должно сделать это:

header('Content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.document');
header('Content-Disposition: attachment; filename="myfile.docx"');
readfile('myfile.docx');

ответил(а) 2021-01-28T00:41:11+03:00 3 месяца, 1 неделя назад
44

Да, это сработает. Документы PHP имеют в основном точный код, который вы хотите.

ответил(а) 2021-01-28T00:41:11+03:00 3 месяца, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема