Heim >Backend-Entwicklung >PHP-Tutorial >PHP用header进行文件下载

PHP用header进行文件下载

WBOY
WBOYOriginal
2016-06-23 14:16:34824Durchsuche

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失效。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn