Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MSOFFICE MIME类型验证_Php_File Upload_Ms Office_Mime Types - Fatal编程技术网

Php MSOFFICE MIME类型验证

Php MSOFFICE MIME类型验证,php,file-upload,ms-office,mime-types,Php,File Upload,Ms Office,Mime Types,我有以下资料: $mimeTypes = array('application/msword'); //used to be an array $finfo = new finfo(FILEINFO_MIME, "/usr/share/misc/magic"); $type = $finfo->file($_FILES['userfile']['tmp_name']); $mime = substr($type, 0, strpos($type, ';')); if (

我有以下资料:

$mimeTypes = array('application/msword'); //used to be an array

$finfo = new finfo(FILEINFO_MIME, "/usr/share/misc/magic"); 


$type = $finfo->file($_FILES['userfile']['tmp_name']);
$mime = substr($type, 0, strpos($type, ';'));


    if (in_array($mime, $mimeTypes)) 
      { //let it in
问题是,我尝试上载的任何MSOFFICE文件的文件类型都是“application/vnd.ms office”。我不希望允许所有MSOFFICE文件,只允许.DOC文件。有解决办法吗


**请注意,这些MSOFFICE类型的文件是在OPENOFFICE中创建的,这会有所不同吗?

您最好在知道文件是Office文档(
application/vnd.ms Office
)并手动为当前文件设置正确的MIME后验证文件扩展名

如果您有权访问Apache,可以在
conf/MIME.types

application/msword doc
application/vnd.ms-excel xls
[..] etc
Office MIME类型列表(从)

.doc    application/msword
.dot    application/msword
.docx   application/vnd.openxmlformats-officedocument.wordprocessingml.document
.dotx   application/vnd.openxmlformats-officedocument.wordprocessingml.template
.docm   application/vnd.ms-word.document.macroEnabled.12
.dotm   application/vnd.ms-word.template.macroEnabled.12
.xls    application/vnd.ms-excel
.xlt    application/vnd.ms-excel
.xla    application/vnd.ms-excel
.xlsx   application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.xltx   application/vnd.openxmlformats-officedocument.spreadsheetml.template
.xlsm   application/vnd.ms-excel.sheet.macroEnabled.12
.xltm   application/vnd.ms-excel.template.macroEnabled.12
.xlam   application/vnd.ms-excel.addin.macroEnabled.12
.xlsb   application/vnd.ms-excel.sheet.binary.macroEnabled.12
.ppt    application/vnd.ms-powerpoint
.pot    application/vnd.ms-powerpoint
.pps    application/vnd.ms-powerpoint
.ppa    application/vnd.ms-powerpoint
.pptx   application/vnd.openxmlformats-officedocument.presentationml.presentation
.potx   application/vnd.openxmlformats-officedocument.presentationml.template
.ppsx   application/vnd.openxmlformats-officedocument.presentationml.slideshow
.ppam   application/vnd.ms-powerpoint.addin.macroEnabled.12
.pptm   application/vnd.ms-powerpoint.presentation.macroEnabled.12
.potm   application/vnd.ms-powerpoint.template.macroEnabled.12
.ppsm   application/vnd.ms-powerpoint.slideshow.macroEnabled.12