你好,我正在尝试通过 finfo_file 函数验证上传的文件类型。
但是当发送.docx 文件时,文件类型是:
application/zip
代替:
application/vnd.openxmlformats-officedocument.wordprocessingml.document
我怎样才能改变这种行为?
最佳答案
就我现在而言,供应商特定文件类型 (vnd.) 未标准化(通过任何 RFC),因此未包含在 file_info() 中。 .docx
是 zipped 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/