加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何导出动态生成的临时csv文件?

发布时间:2020-12-13 18:21:22 所属栏目:PHP教程 来源:网络整理
导读:我想通过查询数据库来生成带有数据的csv文件.然后浏览器应提示用户下载文件.问题是,readfile函数需要一个文件名而不是句柄,但我找不到一个函数来获取这个临时文件的文件名. 我想有更好的方法可以做到这一点,但我找不到它们. $handle = tmpfile();fputcsv($ha
我想通过查询数据库来生成带有数据的csv文件.然后浏览器应提示用户下载文件.问题是,readfile函数需要一个文件名而不是句柄,但我找不到一个函数来获取这个临时文件的文件名.
我想有更好的方法可以做到这一点,但我找不到它们.
$handle = tmpfile();
fputcsv($handle,array('year','month','product','count'));
header('Content-Type: application/csv');
header('Content-Disposition:attachment;filename=LS_export');
echo readfile($handle);
fclose($handle);
exit();
您正在寻找 rewind将文件指针重置为文件的开头,然后是 fpassthru以输出文件的所有内容.
rewind($handle);
fpassthru($handle);

另一种解决方案是使用tempnam生成一个唯一的文件,该文件在关闭时不会被删除.完成后,请不要忘记手动将其删除.

$name = tempnam('/tmp','csv');
$handle = fopen($name,'w');
...
fclose($handle);
readfile($name);
unlink($name);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读