我有一個有趣的問題,我認爲它與服務器相關。我希望CSV數據在用戶點擊按鈕時保存爲CSV文件。它可以在我的開發服務器上正常工作,但在製作時它只是將內容回顯到頁面。我的猜測是它一定是服務器問題,但我真的不確定它會是什麼。 GZIP可以影響這個嗎?將csv保存爲附件文件PHP + Apache安裝程序不起作用
我的頭,代碼如下:
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頁面。有任何想法嗎?
提到Christian的迴應,我檢查了HTTP和活的服務器是不一樣的。它增加了這一點: 有所不同:接受編碼 然後在Content-Type是不是我在PHP和度假村到指定: 的Content-Type:text/html的; charset = iso-8859-1 – AndreLiem 2009-05-05 19:47:16
現在你可以添加更多關於活動服務器配置的細節,也許我們可以找到配置設置來警示它 – Christian 2009-05-06 07:41:55
查看關於HTTP/1.1的W3C文檔,Vary關鍵字將改變內容 - 如果您定義的內容類型不在列表中,請鍵入。所以你需要將它添加到httpd.conf或.htaccess中的列表中。可能將文本/ x-csv添加到Accept-Encoding標頭可以解決問題。 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html(向下滾動到14.44) http://httpd.apache.org/docs/2.0/content-negotiation.html – 2009-05-06 11:56:12