PHP百万级数据导出csv格式OR文本格式

废话不说,先来上一个小小的DEMO

<?php
	header('Content-Type: text/csv');
    header('Content-Transfer-Encoding: binary');
	for($i=0;$i<500000;$i++){
		echo "this is a test \n";
	}
?>

将以上代码保存为一个PHP文件,然后执行,你会得到一个50万行记录的文件。当然扩展名是php.以上代码是分析了PhpMyAdmin后得到的超级简易版。

有了这个思路就相对简单了,首先你要超文件头。

 header('Content-Description: File Transfer');
        header('Content-Disposition: attachment; filename="' . $this->fileName . '"');
	header('Content-Type: text/csv');
        header('Content-Transfer-Encoding: binary');

然后就是遍历你的数据库,将所有的内容echo即可。如果你对csv格式不了解的话,建议先普及一下。

首页echo表头

echo '列1,列2,列3';
echo chr(10);

接着把所有的记录依次echo即可。

foreach($array){
echo 'a1,a2,a3';
echo chr(10);
}

上面的循环就是你遍历数据库的过程,这里不同的项目有不同的规则就不再描述了。

因为开始已经声明了文件头,所以你直接echo,当你echo完了浏览器也认为你下载完成了。

猜你喜欢

转载自blog.csdn.net/hotlinhao/article/details/78189930
今日推荐