php – 为什么在使用不同的PC但具有相同配置时MIME类型不同?

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

PC-1配置:

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

PC-2配置:

>赢得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的原因是什么?

解决方法:

这是因为PC 2上没有安装Microsoft Office.
因此Chrome不知道如何解释.
Octet-stream是最后的尝试解释.
这个post更详细,有一种方法可以调整注册表,也许可以达到相同的效果.

上一篇:如何使用PHPExcel从Excel文件中读取数据?


下一篇:使用带有标题的php下载不适用于IE8