PHP导出上万条数据
程序员文章站
2023-12-23 08:18:28
...
本篇文章介绍的内容是关于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导出上万条数据的详细内容,更多请关注其它相关文章!