Ara*_*nid 5 php detection mime-types
在 PHP 上传中,我尝试验证正在上传的文件的 MIME 类型,以匹配应用程序的一组有效的 MIME 类型。当尝试使用 fileinfo() 确定 Office 2007 文件的 MIME 类型时,它没有检测到相应的 MIME 类型。相反,MIME 类型响应是“application/zip”
Office 文档 MIME 类型: http://fileext.com/faq/office_mime_types.php
PHP 代码示例:
$oFileInfo = 新的 finfo( FILEINFO_MIME_TYPE );
$sMimeType = $oFileInfo -> file( $_FILES['Filedata']['tmp_name'] );
回声 $sMimeType;
服务器设置信息:
我发现许多帖子都提到从网络服务器下载较新的 Office 格式时出现的问题。在所有这些示例中,我没有找到任何地方说明如何将新的 MIME 类型添加到现有的 magic.mime 文件,或者指向已包含 Microsoft Office 2007+ MIME 类型的 magic.mime 文件的链接。感谢你的协助。
magic.mime。$_FILES['Filedata']['type'])注意: finfo()通过文件的幻字节来确定文件的 MIME 类型;鉴于 Office 2007 文件(以及许多其他文件格式,例如 ePUB)只是具有指定目录结构的 zip 包,因此必须finfo()返回application/zip.
如果您确实想根据文件内容确定文件类型(而不是上传时的 MIME 类型浏览器报告),我建议您解压缩或列出内容以检查其结构