2010-05-19 103 views
2

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

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

回答

4

发送正确的MIME类型

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

,并使用内容处置头,告诉它下载:http://www.jtricks.com/bits/content_disposition.html

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

你总是要发送正确的MIME类型,否则防火墙,反病毒软件和一些浏览器可能会有问题...

+0

工作很好!感谢资源链接! – hsatterwhite 2010-05-19 18:51:53

0

您需要向浏览器发送一个MIME类型application/csv,以便将操作文件的责任转移到操作系统建议(或用户选择)的任何地方。

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

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

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

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

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

+0

谢谢你的帮助! – hsatterwhite 2010-05-19 18:52:15

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';"/> 
+0

不错的解决方案,感谢您的帮助! :) – hsatterwhite 2010-05-19 18:52:34