Вот мой код, где я пытаюсь отправить правильный заголовок, относящийся к типу документа. Я понял заголовки для pdf, doc и docx, но мне все еще нужно знать правильный заголовок для файлов Excel и Powerpoint.
Любая помощь оценивается.
$document = urldecode($_GET['document']); $extension = end(explode('.', $document)); $mimeType = ''; switch ($extension) { case 'pdf': $mimeType = 'pdf'; break; case 'doc': $mimeType = 'msword'; break; case 'docx': $mimeType = 'msword'; break; case 'xls': $mimeType = ''; break; case 'xlsx': $mimeType = ''; break; case 'ppt': $mimeType = ''; break; case 'pptx': $mimeType = ''; break; } header('Content-type: application/' . $mimeType);
.xls
применение / vnd.ms-первенствуйте
.xlsx
Применение / vnd.openxmlformats-officedocument.spreadsheetml.sheet
.ppt
Применение / vnd.ms-PowerPoint
.pptx
Применение / vnd.openxmlformats-officedocument.presentationml.presentation
И один из перечисленных вами неверен:
.docx
Применение / vnd.openxmlformats-officedocument.wordprocessingml.document
См. http://www.w3schools.com/media/media_mimeref.asp .
xls – application/vnd.ms-excel
, ppt – application/vnd.ms-powerpoint
.
Поскольку большинство запрошенных типов связаны с Microsoft Office, эта ссылка имеет все типы mime office (лучший сфокусированный источник, который я нашел до сих пор): http://filext.com/faq/office_mime_types.php
Вы можете просто отослать $ _FILES ['input_tag_name'] ['type'] после загрузки файла, чтобы узнать тип MIME этого файла.