加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – MSOFFICE MIME类型验证

发布时间:2020-12-13 18:08:44 所属栏目:PHP教程 来源:网络整理
导读:我有以下内容: $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,strpos($type,';')); if (in_a
我有以下内容:
$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,strpos($type,';'));


    if (in_array($mime,$mimeTypes)) 
      { //let it in

问题是我将“application / vnd.ms-office”作为我尝试上传的任何MSOFFICE文件的文件类型.我不希望只允许所有MSOFFICE文件.DOC.这有解决方法吗?

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

在知道文件是Office文档(application / vnd.ms-office)并手动设置当前文件的正确MIME之后,您可以做的最好的方法是验证文件扩展名.

如果您有权访问Apache,则可以在conf / mime.types中添加正确的MIME

application/msword doc
application/vnd.ms-excel xls
[..] etc

Office MIME类型列表(从http://filext.com/faq/office_mime_types.php开始)

.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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读