php - PHP finfo_file 中的 DOCX 文件类型是 application/zip

标签 php validation docx file-type

你好,我正在尝试通过 finfo_file 函数验证上传的文件类型。

但是当发送.docx 文件时,文件类型是:

application/zip

代替:

application/vnd.openxmlformats-officedocument.wordprocessingml.document

我怎样才能改变这种行为?

最佳答案

就我现在而言,供应商特定文件类型 (vnd.) 未标准化(通过任何 RFC),因此未包含在 file_info() 中。 .docxzipped xml-format这就是为什么 file_info() 返回 application_zip 的原因(这是完全正确的)。您可以解压缩文件并测试结果的 mime 类型,但这将导致 xml(这也是完全正确的)和文档使用的其他文件。为了区分不同的 XML 格式,file_info() 必须分析其内容,并且它必须知道它的外观、内容。

关于php - PHP finfo_file 中的 DOCX 文件类型是 application/zip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6595183/

相关文章:

ruby-on-rails - Rails ActiveRecord::RecordInvalid 异常未在关联的 after_create 中引发

python - 如何获取每个段落的列表编号

python - 用于单词模板的 Jinja2

javascript - 将数据发送到 mysql 表时,html 按钮(onclick)不起作用

php - zoneinfo:新的 right 和 posix 区域名称前缀是什么?

php - 从 SetExpressCheckout 获取金额

jquery - 选择带有 jQ​​uery 验证错误放置的 select

Java - 验证 arrayList 中是否已存在行号,

c# - 使用 C# 通过打印机对话框打印 docx 文件

javascript - 通过 PHP 将图像文件(不是通过表单选择,只是在一个文件夹中)上传到 mysql?