亲测有效,三万条数据秒秒钟导出
先进行数据表插入数据
ini_set('memory_limit','1024M'); //设置程序运行的内存 ini_set('max_execution_time',0); //设置程序的执行时间,0为无上限 ob_end_clean(); //清除内存 ob_start(); $in = 0; for($i=2880;$i<=30000; $i++) { $data = ['uname'=>'uname:'.$i, 'aname'=>'账号:'.$i, 'pwd'=>'111'.$i]; $r = DB::table('enroll_activity_admin')->insert($data); if($in==1000){ //每次写入1000条数据清除内存 $in=0; ob_flush();//清除内存 } $in++; } ob_end_clean();dIE;
在进行导出数据
$filename = '酒店'; $headArr = ['姓名', '账号', '密码']; //表头,名称可自定义 $data = Db::table('enroll_activity_admin')->where('is_del','0')->fIEld('uname,aname,pwd')->select(); ini_set('memory_limit','1024M'); //设置程序运行的内存 ini_set('max_execution_time',0); //设置程序的执行时间,0为无上限 ob_end_clean(); //清除内存 ob_start(); header("Content-Type: text/csv"); header("Content-disposition:filename=".$filename.'.csv'); $fp=fopen('PHP://output','w'); fwrite($fp, chr(0xEF).chr(0xBB).chr(0xBF)); fputcsv($fp,$headArr); $index = 0; foreach ($data as $item) { if($index==1000){ //每次写入1000条数据清除内存 $index=0; ob_flush();//清除内存 flush(); } $index++; fputcsv($fp,$item); } ob_flush(); flush(); ob_end_clean();
总结
以上是内存溢出为你收集整理的PHP导出3w条数据成表格全部内容,希望文章能够帮你解决PHP导出3w条数据成表格所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)