我编写了PHP代码以将数据导出到.csv
文件。导出的.csv
文件可以在我自己的PC上下载。但是在客户端的服务器中,.csv
文件无法下载,它是可读格式的(浏览器可以读取和打印文件内容,如.html
文件)。
我在访问header()
文件之前使用了.csv
。
是服务器端问题还是需要更改我的代码?
答案 0 :(得分:9)
您需要发送标头以告诉客户端期望的文件类型以及如何处理它。
header ('Content-Type: text/csv');
header ('Content-Disposition: attachment; filename="put_your_preferred_file_name_here.csv"');
答案 1 :(得分:4)
您需要更改服务器发送的标头,让浏览器知道它需要下载它而不是显示它。
添加此项以使文件由excel打开
header("Content-type: application/vnd.ms-excel")
或更多标准类型
header("Content-type: text/csv")
答案 2 :(得分:1)
我非常喜欢this solution。如果无法访问URL(更多):
将.htaccess
文件放入同一文件夹并将此行添加到其中
AddType application/octet-stream .csv
就是这样。 (原始链接有更多文件扩展名,但这是OP的文件扩展名。)