通过mysql outfile 直接快速导出.csv文件,适用于量级很大的导出操作

来源:互联网 发布:如何赚钱 知乎 编辑:程序博客网 时间:2024/06/08 03:08

直接从数据库中直接导出csv,给你我的源码,供你参考
$t=time();
$filepath= getcwd().'/';

$filename=$t.'.csv';
$where='1=1';

$sql="SELECT
field1,
filed2,
filed3
FROM
db.表头表
UNION ALL
SELECT
field1,
filed2,
filed3
FROM
db.数据表
WHERE
$where INTO OUTFILE '$filepath$filename' CHARACTER
SET gbk FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' ESCAPED BY '\"' LINES TERMINATED BY '\\r\\n' ";";




$query = DB::query($sql);

header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=业务日志.csv');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($filepath.$filename));
readfile($filepath.$filename);
unlink($filepath.$filename);

原创粉丝点击