gpt4 book ai didi

PHP 5.3.5 fileinfo() MS Office 2007 文件的 MIME 类型 - magic.mime 更新?

转载 作者:可可西里 更新时间:2023-10-31 23:34:41 25 4
gpt4 key购买 nike

在 PHP 上传时,我试图验证正在上传的文件的 MIME 类型,以匹配应用程序的一组有效 MIME 类型。当尝试使用 fileinfo() 来确定 Office 2007 文件的 MIME 类型时,它没有检测到它们的适当 MIME 类型。相反,MIME 类型响应是“application/zip”

Office 文档 MIME 类型: http://filext.com/faq/office_mime_types.php

示例 PHP 代码:

$oFileInfo = new finfo( FILEINFO_MIME_TYPE );

$sMimeType = $oFileInfo -> file( $_FILES['Filedata']['tmp_name'] );

echo $sMimeType;

服务器设置信息:

  • 操作系统:Windows Server 2003 32 位
  • 网络服务器:IIS 6.0
  • PHP:5.3.5(线程安全),使用 FastCGI 1.5
  • 文件:magic.mime
    • darko 在 uvcms.com 上的示例 2008 年 4 月 16 日 09:35
      • 链接:php.net/manual/en/fileinfo.installation.php
    • 大小:517 KB
    • 来源:Source Forge:GNU32 - 文件类型 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 文件。

关于PHP 5.3.5 fileinfo() MS Office 2007 文件的 MIME 类型 - magic.mime 更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4807036/

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