>백엔드 개발 >PHP 튜토리얼 >PHP用header进行文件下载

PHP用header进行文件下载

WBOY
WBOY원래의
2016-06-23 14:16:34824검색

PHP csv 下载

各位,我用header导出csv,我在本地测试可以成功下载导出,但是在服务器就只能直接显示在网页上了,不能下载,为什么会这样?
我的header是这样的:

header("Content-Description: File Transfer"); header("Content-Type: application/octet-stream");header("Content-Type: application/vnd.ms-excel");header("Content-Type: application/force-download"); header("Pragma: public"); header("Accept-Ranges: bytes"); header("Expires: 0");header('Content-Disposition: attachment;filename="data.csv"');header("Content-Transfer-Encoding: binary");header("Cache-Control: must-revalidate, post-check=0, pre-check=0");header('Cache-Control: private',false);


回复讨论(解决方案)

header("Content-Description: File Transfer"); header("Content-Type: application/octet-stream");header("Content-Type: application/vnd.ms-excel");header("Content-Type: application/force-download"); header("Pragma: public"); header("Accept-Ranges: bytes"); header("Expires: 0");header('Content-Disposition: attachment;filename=data.csv');header("Content-Transfer-Encoding: binary");header("Cache-Control: must-revalidate, post-check=0, pre-check=0");header('Cache-Control: private',false);

header("Content-Description: File Transfer"); 
header("Content-Type: application/octet-stream");
header("Content-Type: application/vnd.ms-excel");
header("Content-Type: application/force-download"); 
header("Pragma: public"); 
header("Accept-Ranges: bytes"); 
header("Expires: 0");
header('Content-Disposition: attachment;filename= data.csv');
header("Content-Transfer-Encoding: binary");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header('Cache-Control: private',false);

header("Content-Description: File Transfer"); 
header("Content-Type: application/octet-stream");
header("Content-Type: application/vnd.ms-excel");
header("Content-Type: application/force-download"); 
header("Pragma: public"); 
header("Accept-Ranges: bytes"); 
header("Expires: 0");
header('Content-Disposition: attachment;filename= data.csv');
header("Content-Transfer-Encoding: binary");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header('Cache-Control: private',false); 改了哪里?

但是在服务器就只能直接显示在网页上了

是指代码还是csv的内容。没看出代码有什么问题。

但是在服务器就只能直接显示在网页上了

是指代码还是csv的内容。没看出代码有什么问题。
是CSV的内容啊

但是在服务器就只能直接显示在网页上了

是指代码还是csv的内容。没看出代码有什么问题。
在网页上输出的是CSV的内容啊,求问大神是怎么回事啊?


但是在服务器就只能直接显示在网页上了

是指代码还是csv的内容。没看出代码有什么问题。
在网页上输出的是CSV的内容啊,求问大神是怎么回事啊?

信息不全,不好说,检查下文件的编码格式,是否有BOM头,如果有bom头的话,可能会输出导致之后的header失效。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.