PHP xls, xlsx, ppt, pptx headers
Here is my code where I am trying to send a correct header depedning on a type of a document. I figured out the headers for pdf, doc and docx but I still need to know correct header for Excel and Powerpoint files.
Any help appreciated.
$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
application/vnd.ms-excel
.xlsx
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.ppt
application/vnd.ms-powerpoint
.pptx
application/vnd.openxmlformats-officedocument.presentationml.presentation
And one of those you have listed is wrong:
.docx
application/vnd.openxmlformats-officedocument.wordprocessingml.document
See http://www.w3schools.com/media/media_mimeref.asp .
xls is application/vnd.ms-excel
, ppt is application/vnd.ms-powerpoint
.
Since most of the types requested are Microsoft Office related, this link has all of the office mime types (the best focused source I've found so far): http://filext.com/faq/office_mime_types.php
You can simply echo $_FILES['input_tag_name']['type'] after upload a file to know the MIME type of that file.
精彩评论