使创建的csv文件可下载

时间:2014-12-01 19:19:39

标签: php csv

使用php,在后端部分,我生成一些csv文件:

$fp = fopen($filename, 'w');
foreach ($rows as $row) {
    fputcsv($fp, $row, ';', '"');
}
fclose($fp);

然后,在前端视图中,我创建了一个指向那些csvs的链接。问题是当点击指向csv的链接时,该文件的内容将显示在我的浏览器中,而不是下载它。 首先,我尝试了目标属性

target="_blank"

没有任何改变。 然后我在互联网上看到我可以通过标题功能

来解决这个问题
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename='.$filename);
$fp = fopen($filename, 'w');
foreach ($rows as $row) {
    fputcsv($fp, $row, ';', '"');
}
fclose($fp);

但唯一改变的是,当我点击后端生成csv文件的按钮时,浏览器每次都建议我下载csv文件。但我想要的是在前端下载它。

任何解决方案?

非常感谢。

1 个答案:

答案 0 :(得分:0)

把这个:

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

在呈现文件的页面上。