gpt4 book ai didi

php - MSOFFICE MIME 类型验证

转载 作者:可可西里 更新时间:2023-11-01 12:31:59 26 4
gpt4 key购买 nike

我有以下内容:

$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

问题是我将“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

关于php - MSOFFICE MIME 类型验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13214720/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com