php导出文件(一):导出csv超大文件

当使用PHP处理导出Excel的大型数据时,由于php_excel组件将所有数据存储在内存中,可能导致内存溢出和运行超时。为了解决这个问题,本文介绍了使用CSV格式进行数据导出的优势,CSV文件在I/O和内存使用上更高效。文中提供了一段PHP代码示例,并提到在实际场景中,可以将生成的CSV文件上传至云环境,以优化下载流程并降低风险。
摘要由CSDN通过智能技术生成

在做后台任务的时候,经常会遇到需要导出excel表格的情况,php插件里也提供了php_excel组件,功能也十分强大,但是在做导出超大文件的时候就会遇到内存溢出,运行时间超限的问题,并且无法回避,这是因为php_excel会将整个工作表都存在内存当中,数据太多肯定会内存溢; 并且对于excel的操作来说,如果在本地打开一个几十mb大小的excel文件基本也会很慢,再对其进行各种计算或操作也是很不友好的,直对来说csv文件会更加轻量,对服务器来说,csv文件的操作在I/O方面,内存使用相对很小,所以在做作数据导出时基本上都采用csv文件格式。
今天做个小记,代码如下:

//方法1:  打开一次文件,以追加的方式写入数据,会一直占用该文件资源,直到文件被关闭,资源被释放
function exportCsv1(){
   
	$title = ['id','name','time'];
	$file = date('Ymd').'_export.csv';
	$fp = fopen($file,'w+'); //w+以追加的方式写入文件
	if(flock($fp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值