本篇文章介绍的内容是关于PHP导出上万条数据,有需要的朋友可以参考一下php利用缓冲实现动态输出(ob_flush)

下面以PHP导出上万条数据为例,上代码:

// 导出测试 function explode() { ob_end_clean(); header("Content-type:text/csv"); header('Content-Disposition: attachment;filename=test_' . time() . '.csv'); $fp = fopen('php://output', 'a'); // 输出Excel列头信息 $head = array('平台', '名称', '本金','时间'); // foreach($head as $i => $v) { // // CSV的Excel支持GBK编码,一定要转换,否则乱码 // $head[$i] = iconv('utf-8', 'GB2312//IGNORE', $v); // } fputcsv($fp, $head); $limit = 1000; $count = 1; $sql = 'select * from assets limit 0,1000'; $rows = Db::table('表名')->query($sql); while(count($rows)>0 && $count<21) { $offset = $count*$limit; $count++; foreach ($rows as $key => $row) { if($key%2000 == 0) { if(ob_get_level()>0){ ob_flush() ; } } $val = array($row['platform'],$row['name'],$row['principal'],$row['create_time']); // foreach($val as $k => $v) { // $val[$k] = iconv('utf-8', 'GB2312//IGNORE', $v); // } fputcsv($fp, $val); } $sql = "select * from assets limit {$offset},{$limit}"; $rows = Db::table('表名')->query($sql); } }

相关推荐:

php导出Excel里HTML内容文件类方法

php导出有前导0的csv实例分享