0

我有一个有趣的问题,我认为它与服务器有关。我希望在用户单击按钮时将 CSV 数据保存为 CSV 文件。它在我的开发服务器上运行良好,但在生产中它只是将内容回显到页面。我的猜测是它一定是服务器问题,但我真的不确定它可能是什么。GZIP 会影响这个吗?

我的标题代码如下:

header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Length: " . strlen($out));
header("Content-type: text/x-csv");
header("Content-Disposition: attachment; filename=$filename");
echo $out;

所以上面的代码在开发服务器上工作,在生产环境中只会将 CSV 回显到页面。有任何想法吗?

4

3 回答 3

1

我唯一能想到的就是哑剧类型。从一台服务器移动到另一台服务器时,我遇到了一些 mime 类型(尤其是 .flv 文件)的问题。

我用于 .csv 文件的是application/octet-stream.

希望有帮助

于 2009-05-04T22:17:25.333 回答
0

是的,我猜它也是哑剧类型。您可能想尝试使用 csv 特定的“text/csv”(RFC 4180)或通用的“application/octet-stream”。

于 2009-05-04T22:26:10.570 回答
0

只需使用 Wireshark ( http://www.wireshark.org ) 并捕获这两种情况的 HTTP 流量并寻找差异。提琴手也应该工作

于 2009-05-04T23:40:24.853 回答