【问题标题】:Why is MIME type different when using different PC but with same config?为什么使用不同的 PC 但具有相同的配置时 MIME 类型不同?
【发布时间】:2017-07-31 06:56:44
【问题描述】:

我创建了一个函数来检查和导入 Excel 文件的文件扩展名。我在 2 台不同的 PC 上运行了相同的源代码。

PC-1 配置:

  • Win 7 64位
  • XAMPP 与 PHP 7.0.x
  • 浏览器谷歌浏览器
  • 已安装 Microsoft Office 2013

PC-2 配置:

  • Win 10 64 位
  • XAMPP 与 PHP 7.1.x
  • 浏览器谷歌浏览器
  • 已安装 Open Office。不安装 MS Office

我的 Excel 文件由 Google 电子表格创建并导出为扩展名为 .xlsx 的 MS Office 文件。

在 PC-1 中,当我调试 $_FILES['file']['type']; 值时,我得到了扩展:

'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'

然而在 PC-2 上,我收到了:

'application/octet-stream'

我的问题是:为什么对于相同的源、相同的导入文件、只是不同的环境,调试输出会显示不同的文件扩展名?是安装 MS Office 的原因吗?

【问题讨论】:

  • 服务器端报告MIME类型,因此与客户端安装什么软件无关。
  • 感谢 Leigh 纠正了我的英语错误。猛禽:那么造成这种情况的原因是什么。
  • 我猜这是关于 PHP 7.1 和 7.0 的区别。可以用finfo_file()再次验证MIME类型吗?

标签: php excel google-sheets phpexcel import-from-excel


【解决方案1】:

这是因为 PC 2 上没有安装 Microsoft Office。
所以 Chrome 不知道如何解释。
Octet-stream 是最后一次尝试解释。
这个post 进行了更详细的介绍,您可以通过调整注册表来获得相同的结果。

【讨论】:

    猜你喜欢
    • 2018-06-16
    • 2013-03-28
    • 1970-01-01
    • 1970-01-01
    • 2019-12-18
    • 2020-05-10
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多