2

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

FWIW 我在 Media Temple 上使用 WordPress 的香草安装。

4

4 回答 4

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 类型,否则防火墙、防病毒软件和某些浏览器可能会出现问题......

于 2010-05-19T18:28:49.660 回答
2

您可以使用 PHP 的header()函数来更改 Content-type

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

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

于 2010-05-19T18:28:04.100 回答
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';"/>
于 2010-05-19T18:41:06.730 回答
0

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

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

header('Content-type: application/csv');
于 2010-05-19T18:26:23.573 回答