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); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |