热搜:NVER node 开发 php

PHP用header进行文件下载

2024-09-18 19:35:01
PHP用header进行文件下载

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