2012-05-28 57 views
5

我一直在使用PHP腳本將數據從我的數據庫(mysql)導出到XLS文件。使用PHP導出XLS文件時的Google Chrome錯誤

儘管文件導出過程在Firefox和IE上運行良好。

嘗試使用Google Chrome進行導出時出現錯誤。

谷歌Chrome的錯誤是

Duplicate headers received from server 

The response from the server contained duplicate headers. This problem is generally the result of a misconfigured website or proxy. Only the website or proxy administrator can fix this issue. 

Error 349 (net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION): Multiple distinct Content-Disposition headers received. This is disallowed to protect against HTTP response splitting attacks. 

我需要在此方面的援助。

感謝

+0

HTTP響應頭有問題。使用[Fiddler](http://fiddler2.com)捕獲HTTP頭並將其發佈到此處。 – flowfree

+0

發生在我身上。通過從文件名中刪除逗號來修復它 –

+0

另一個答案改變'header(「Content-Disposition:attachment; filename = {$ file}」);'to header(「Content-Disposition:attachment; filename = \」{$文件} \「」);' –

回答

9

我發現了什麼我的問題是在PHP代碼出口的開頭部分。不正確的和正確的路線如下:

不正確

header("Content-Disposition: attachment;filename=\"".$this->filename."\""); 

正確

header("Content-Disposition: attachment; filename=\"".$this->filename."\""); 

校正感附件之間增加的空間;文件名

希望這會有所幫助。

3

我有這個相同的問題。但是很少出現。原因相似但不完全相同。

錯誤

header("Content-Disposition: attachment; filename=$filename"); 

正確

header("Content-Disposition: attachment; filename=\"$filename\""); 

$文件名有時處於包含導致mentionec Chrome的誤差空間。

1

我也遇到了同樣的問題。在下載名稱中包含逗號的文件時,它會說「收到了重複標題」,並且僅在chrome中顯示。在Firefox中,它是確定的。之後,我只是將我的代碼從
header("Content-Disposition: attachment; filename=$myfilename");更改爲 header("Content-Disposition: attachment; filename=\"$myfilename\"");,它工作正常。希望它能爲你工作。