未提示下载CSV文件

时间:2010-05-19 18:22:13

标签: php wordpress csv mediatemple

我在WordPress中创建了一个自定义解决方案,它将通过单击直接链接到此文件的简单超链接生成要下载的CSV文件。而不是被提示将文件下载到计算机; CSV将在浏览器窗口中打开。

FWIW我正在使用香草安装的WordPress进入Media Temple。

4 个答案:

答案 0 :(得分:4)

发送适当的mime类型

header('Content-type: text/csv');

并使用Content-Disposition标头告诉它下载:http://www.jtricks.com/bits/content_disposition.html

header('Content-Disposition: attachment; filename="mycssfile.csv"');

您总是希望发送正确的mime类型,否则防火墙,防病毒软件和某些浏览器可能会出现问题......

答案 1 :(得分:2)

您可以使用PHP的header()功能更改内容类型

header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="myFile.csv"');

以上代码将强制提示用户下载。其中myFile.csv应替换为您要下载的文件的路径。

答案 2 :(得分:2)

这有效:

$filename = 'export.csv';
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename='.$filename);

另外,我个人不喜欢我网站上的链接,我喜欢按钮。如果您想要一个按钮来执行导出功能,您可以使用下面的代码。我只是觉得我会发布它,因为它花了我一点时间才弄明白:)

<input type="button" value="Export to CSV" onClick="window.location.href='something.php?action=your_action';"/>

答案 3 :(得分:0)

您需要向浏览器发送MIME类型application/csv,以便将处理文件的责任卸载到操作系统建议(或用户选择)的任何内容。

在PHP中(在将任何输出发送到客户端之前):

header('Content-type: application/csv');