TypechoJoeTheme

至尊技术网

统计
登录
用户名
密码
/
注册
用户名
邮箱

PHP快速导出大量数据到CSV

2022-10-10
/
0 评论
/
175 阅读
/
正在检测是否收录...
10/10
<?php
//让程序一直运行
set_time_limit(0);
//设置程序运行内存
ini_set('memory_limit', '128M');

$fileName = '数据';
header('Content-Encoding: UTF-8');
header("Content-type:application/vnd.ms-excel;charset=UTF-8");
header('Content-Disposition: attachment;filename="' . $fileName . '.csv"');

//打开php标准输出流
$fp = fopen('php://output', 'a');

//添加BOM头,以UTF8编码导出CSV文件,如果文件头未添加BOM头,打开会出现乱码。
fwrite($fp, chr(0xEF).chr(0xBB).chr(0xBF));

//添加导出标题
fputcsv($fp, ['姓名', '年龄', '地区']);
                
$page = 1;//当前页数
$limit = 5000; //每次导出数量

while(1==1){
    $limit_offset = ($page - 1) * $limit;
    $data = $this->where($where)->order('id desc')->limit($limit_offset,$limit)->select()->toArray();
    if(!$data){
        break;
    }
    foreach ($data as $v) {
        fputcsv($fp, $v);
    }
    //达到导出数量就刷新缓冲区
    ob_flush();
    flush();
    $page++;
}
经验PHP导出表格CSV
朗读
赞(0)
版权属于:

至尊技术网

本文链接:

https://www.zzwws.cn/archives/6365/(转载时请注明本文出处及文章链接)

评论 (0)