在我正在处理的Web应用程序中,用户可以单击指向CSV文件的链接.没有为mime类型设置标头,因此浏览器只是将其呈现为文本.我想将此文件作为.csv文件发送,因此用户可以使用calc,excel,gnumeric等直接打开它.
header('Content-Type: text/csv'); echo "cell 1, cell 2";
此代码在我的计算机上按预期工作(不是它一直是这样吗?)但在另一台计算机上不起作用.
我的浏览器是每晚构建的FF 3.0.1(在Linux上).它不起作用的浏览器是IE 7和FF 3.0(在Windows上)
有没有我不知道的怪癖?
您可以尝试通过执行以下操作强制浏览器打开"另存为..."对话框:
header('Content-type: text/csv'); header('Content-disposition: attachment;filename=MyVerySpecial.csv'); echo "cell 1, cell 2";
哪个适用于大多数主流浏览器.
您没有指定语言或框架,但以下标头用于文件下载:
"Content-Disposition: attachment; filename=abc.csv"
使用Internet Explorer,您通常必须指定Pragma:public标头以及下载才能正常运行.
header('Pragma: public');
只需我2美分..