在
PHP上传时,我正在尝试验证要上载的文件的MIME类型,以匹配应用程序的有效MIME类型集.尝试使用fileinfo()来确定Office 2007文件的MIME类型时,它不会检测为适当的MIME类型.相反,MIME类型响应是“application / zip”
示例PHP代码:
$oFileInfo = new finfo( FILEINFO_MIME_TYPE );
$sMimeType = $oFileInfo -> file( $_FILES[‘Filedata’][‘tmp_name’] );
echo $sMimeType;
服务器设置信息:
>操作系统:Windows Server 2003 32位
> Webserver:IIS 6.0
> PHP:5.3.5(线程安全)使用FastCGI 1.5
>文件:magic.mime
>例子来自uvcms dot com的darko 16-Apr-2008 09:35
>链接:php.net/manual/en/fileinfo.installation.php
>大小:517 KB
>来源:Source Forge:GNU32 – FileType gnuwin32.sourceforge.net/packages/filetype.htm
我发现很多帖子都是从网络服务器下载时引用较新Office格式的问题.在所有这些示例中,我没有找到任何说明将新MIME类型添加到现有magic.mime文件的庄园,或者已经包含Microsoft Office 2007 MIME类型的magic.mime文件的链接.谢谢你的协助.
最佳答案 较新的Office文件实际上是ZIP存档.这就是MIME Magic数据库将它们检测为ZIP文件的原因.您可能需要根据文件扩展名添加特殊规则,或者查看ZIP文件以查看它是否具有docProps文件夹(Office ZIP存档具有包含有关文档的元数据的文件夹).
还有其他文件格式,实际上是具有不同扩展名的ZIP存档,例如JAR文件.