业务需求,今天遇到了这个问题,把需要导出的数据按照一定数量分为多个csv文件并合并一起压缩下载
在做之前需要先缕清自己的思路,代码中我注释的比较详细,可以认真先读一遍
/**
*$file 文件地址 $numbers 每个csv文件的数据 $filenames文件名
*
*/
public function import($files,$numbers,$filenames)
{
//表头title
$columns = ['id','name','title'
];
$new_data = [];//自己需要导出数据的数组
// 数组key总条数
$countUser = count($new_data);
// 能分多少个文件
$pages = ceil($countUser / $numbers);
$fileArr = [];
for ($i = 0; $i < $pages; $i++) {
//判断是第一次创建文件
if ($i == 0) {
// 打开一个临时文件
$filename = dirname(__DIR__) . '/' . $filenames. '-'. 'processed'. '-' . $i . '.csv';
$fileArr[] = $filename;
// 打开一个文件句柄
$fp = fopen($filename, 'w');