我有一个postgresql数据库表,并使用PHP作为后端。在用户界面上,我为用户提供了生成报告的方法。我想要做的是,当用户希望生成报告时,应提供CSV文件以供下载。
我已经知道如何为查询结果生成CSV文件,但现在在这种情况下我不希望将文件保存在磁盘上。相反,它应该由浏览器下载。
答案 0 :(得分:0)
您只需提供一个供下载的页面...
#downloadCSV.php?reportID=1
header('Content-Type: text/plain');
header('Content-Disposition: attachment; filename="yourfile.csv"');
// do your postgresql query and put the result into $csv
echo $csv;
通过这种方式,您无需在服务器上创建真实文件
第二个标题Content-Disposition: attachment;
强制浏览器下载文件,而不是在页面中显示内容