我在 WordPress 中创建了一个自定义解决方案,它将生成一个 CSV 文件,通过单击一个直接链接到该文件的简单超链接来下载该文件。而不是被提示将文件下载到计算机;CSV 将在浏览器窗口中打开。
FWIW 我在 Media Temple 上使用 WordPress 的香草安装。
我在 WordPress 中创建了一个自定义解决方案,它将生成一个 CSV 文件,通过单击一个直接链接到该文件的简单超链接来下载该文件。而不是被提示将文件下载到计算机;CSV 将在浏览器窗口中打开。
FWIW 我在 Media Temple 上使用 WordPress 的香草安装。
发送正确的 mime 类型
header('Content-type: text/csv');
并使用 Content-Disposition 标头告诉它下载:http ://www.jtricks.com/bits/content_disposition.html
header('Content-Disposition: attachment; filename="mycssfile.csv"');
您总是希望发送正确的 mime 类型,否则防火墙、防病毒软件和某些浏览器可能会出现问题......
您可以使用 PHP 的header()
函数来更改 Content-type
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="myFile.csv"');
上面的代码将强制提示用户下载。wheremyFile.csv
应替换为您要下载的文件的路径。
这有效:
$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';"/>
您需要向浏览器发送 MIME 类型,application/csv
以便它将处理文件的责任转移到操作系统推荐(或用户选择)的任何内容上。
在 PHP 中(在任何输出发送到客户端之前):
header('Content-type: application/csv');