php 查找csv并返回行数据,php结合CSV进行数据导出

之前网报系统的导出经常崩溃,用了phpexcel跟js的导出,发现还是因为数据太多,而导致网站崩掉

现在想用php来进行分批次进行导出到一个总的csv中。

function exportData()

{

//一般就是调用出来的二维关联数组

$arr = [

0 => [

'account' => 1,

'true_name' => '张三',

],

1 => [

'account' => 2,

'true_name' => '李四',

],

];

//列名字

$columns = ['账号','真实姓名'];

// 限制页面执行时间的

set_time_limit(0);

ini_set('memory_limit', '1024M');

header('Content-Description: File Transfer');

header('Content-Type: application/vnd.ms-excel');

//导出的文件名

$filename = urlencode("账号信息导出-".date('Y-m-d', time()).".csv");

header('Content-Disposition: attachment; filename=' . $filename . '');

header('Expires: 0');

header('Cache-Control: must-revalidate');

header('Pragma: public'); $fp = fopen('php://output', 'a');//打开output流

//mb_convert_variables('GBK', 'UTF-8', $columns);

fputcsv($fp, $columns);//将数据格式化为CSV格式并写入到output流中

//添加查询条件,获取需要的数据

//获取总数,分页循环处理

$accessNum = count($arr);

//echo $accessNum;die;

$perSize = 1;

$pages = ceil($accessNum / $perSize);

$pages <= 1 && $pages = 1;

for($i = 1; $i <= $pages; $i++) {

foreach($arr as $key => $value) {

$value['account'] ="\t" . $value['account'] . "";

$value['true_name'] ="\t" . $value['true_name'] . "";

$rowData = $value; //获取每列数据,转换处理成需要导出的数据

//需要格式转换,否则会乱码 目前的一般都是utf8了

//mb_convert_variables('GBK', 'UTF-8', $rowData);

fputcsv($fp, $rowData);

} //释放变量的内存

unset($db_data); //刷新输出缓冲到浏览器

ob_flush(); //必须同时使用 ob_flush() 和flush() 函数来刷新输出缓冲。

flush();

}

fclose($fp);

exit();

}

exportData();

标签:account,php,name,导出,value,header,CSV,true

来源: https://blog.csdn.net/weixin_44088587/article/details/112654770

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值