我正在寻找一种方法,让搜索结果生成一个文件,用户可以下载并保存到他们的计算机中。我已经能够生成文件,但是,它会自动存储在服务器上,而不是提示用户将其存储在哪里。
在搜索表单中,用户可以选择一个复选框来生成输出的 CSV 文件(我希望在结果页面上只有一个下载按钮,但无法弄清楚如何做到这一点): https://www. evernote.com/shard/s68/sh/54e95567-d91e-4649-a5c1-35b5f8929c13/a4bc4fed2a2c7f7801099f6d5711c49e
然后在下一页中,结果会显示在页面上,并且还会生成相应的文件。
在结果页面上生成文件的代码:
if($print_flag == 1) {
$filename = "exportfile" . date("Y-m-d_H_m_s") . ".csv";
$handle = fopen($filename, 'w+');
fputcsv($handle, array($column1,$column2));
fclose($handle);
}
如果用户在之前的表单中选中 CSV 复选框,则设置 $print_flag。
这会创建一个存储在服务器上的文件,而不是允许用户将其保存在本地。
我看到了这个以前的问题PHP 将文件保存到用户计算机,但无法弄清楚如何添加这些标题或者这是否是正确的方法。
谢谢!