使用PHP导出XLS文件时出现Google Chrome错误

时间:2012-05-28 09:09:25

标签: php google-chrome

我一直在使用PHP脚本将数据从我的数据库(mysql)导出到XLS文件。

虽然文件导出过程在Firefox和IE上正常运行。

尝试使用Google Chrome导出时出错。

Google 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.

我需要一些帮助。

由于

4 个答案:

答案 0 :(得分:11)

我已经在PHP导出代码的标题部分找到了我的问题。错误和正确的行如下:

不正确

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

正确

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

更正是在附件; 文件名之间添加空格

希望这有帮助。

答案 1 :(得分:8)

我有同样的问题。但是很少出现。原因相似但不完全相同。

不正确的

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

正确

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

$ filename有时会包含空格,导致提及Chrome错误。

答案 2 :(得分:1)

我也遇到了同样的问题。在下载名称中包含逗号的文件时,它会说“收到重复的标题”并且它仅在Chrome中。在Firefox中没关系。之后我只是改变了我的代码 header("Content-Disposition: attachment; filename=$myfilename");header("Content-Disposition: attachment; filename=\"$myfilename\"");它工作得很好。希望它对你有用。

答案 3 :(得分:0)

尝试一下可能会帮助您, header('Content-Disposition:附件; filename = “'。$ file_name。'”');

代替

header('Content-Disposition:附件; filename ='。$ file_name);