我们有一个 php 应用程序,xlsx
文件正在以 zip 文件的形式下载。
我已经看到许多有关解决此问题的解决方案的帖子-使用htaccess
、httpd.cond
和mime.types
文件。
虽然我们的文件是托管的,但托管方却让我们很难更改任何服务器(Linux 上的 apache)文件。他认为我们应该在 php 中修复。
所以我的问题是:
在服务器配置文件中而不是在 php 中进行更改有什么好处(如果有的话)?
答案1
在 PHP 脚本中执行此操作是最好的选择,因为您的应用程序最了解它传输的文件,并可以Content-Type
相应地设置 MIME 类型标头()。
答案2
在这种情况下,正确的答案是Content-Type
在 PHP 中设置。xlsx 文件中是zip 文件,Apache 使用file
mod_mime_magic 中的类似标识来确定这是一个 zip 文件,并相应地设置 mime 类型。如果您运行它们,unzip
您将得到一大堆目录和散落在各处的 XML 文件。
由于您需要在 Excel 中打开它,因此您应该在 PHP 中覆盖此默认行为。