2012-05-28 36 views
5

Tôi đã sử dụng tập lệnh PHP để xuất dữ liệu từ cơ sở dữ liệu (mysql) sang tệp XLS.Lỗi Google Chrome khi xuất tệp XLS bằng cách sử dụng PHP

Trong khi quá trình xuất tệp đang hoạt động tốt trên Firefox và IE.

Tôi gặp lỗi khi cố xuất bằng Google Chrome.

Lỗi Google Chrome là

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. 

Tôi cần một số trợ giúp về vấn đề này.

Cảm ơn

+0

Có sự cố với tiêu đề phản hồi HTTP. Nắm bắt tiêu đề HTTP bằng cách sử dụng [Fiddler] (http://fiddler2.com) và đăng nó ở đây. – flowfree

+0

đã xảy ra với tôi. sửa lỗi bằng cách xóa dấu phẩy khỏi tên tệp –

+0

câu trả lời khác thay đổi 'tiêu đề (" Nội dung-Bố trí: tệp đính kèm; tên tệp = {$ tệp} "); tiêu đề' thành '(" Nội dung-Bố trí: tệp đính kèm; tên tệp = \ "{$ file} \ ""); ' –

Trả lời

9

Tôi đã phát hiện ra vấn đề của mình nằm trong phần tiêu đề của mã xuất PHP. Các dòng không chính xác và chính xác như sau:

sai

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

Đúng

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

Đợt điều chỉnh con người thêm một khoảng trống giữa tập tin đính kèm;tên tệp

Hy vọng điều này sẽ hữu ích.

3

Tôi cũng gặp vấn đề tương tự. Tuy nhiên chỉ xuất hiện rất hiếm khi. Nguyên nhân tương tự nhưng không hoàn toàn giống nhau.

sai

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

Đúng

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

$ filename đôi khi chứa không gian dẫn đến lỗi Chrome mentionec.

1

Tôi cũng gặp phải sự cố tương tự. Trong khi tải xuống tệp có dấu phẩy có tên là "tiêu đề trùng lặp nhận được" và chỉ ở dạng chrome. Trong Firefox thì OK. Sau đó, tôi vừa thay đổi mã của mình từ
header("Content-Disposition: attachment; filename=$myfilename"); tới header("Content-Disposition: attachment; filename=\"$myfilename\""); và nó hoạt động tốt. Hy vọng nó sẽ làm việc cho bạn.

Các vấn đề liên quan