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

来源:互联网 发布:centos git web 编辑:程序博客网 时间:2024/05/29 03:59

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

<?phpheader('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完了浏览器也认为你下载完成了。

原创粉丝点击