欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP导出上万条数据

程序员文章站 2022-04-08 14:16:58
...

本篇文章介绍的内容是关于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实例分享

PHP导出和下载excel的原生实现方法

以上就是PHP导出上万条数据的详细内容,更多请关注其它相关文章!

相关标签: php 数据 万条