PHP操作之合并CSV文件夹下的所有CSV文件内容到一个CSV文件

工作需要,才有了这么个奇怪的要求,其实很简单。

思路是循环遍历文件夹,读取每个CSV文件,写入到指定的CSV文件。

代码如下:

<?php
$dirName = "./csvTest"; //遍历这个文件夹

$targetFile = "./newCSV.csv";//保存文件名

// 经理要求:从$dirName 中遍历所有文件。都是.csv文件。把他们组合成一个文件,保存到$targetFile。

mergeCSV($dirName,$targetFile);

function mergeCSV($dirName,$targetFile){
	//打开待操作的文件夹句柄
	$handle1 = opendir($dirName);
	//遍历文件夹
	while(($res = readdir($handle1)) !== false){
		if($res != '.' && $res != '..'){
			//如果是文件,提出文件内容,写入目标文件
			if(is_file($dirName.'/'.$res)){
				$fileName = $dirName.'/'.$res;
				//读
				$handle2 = fopen($fileName,'r');
				if($str = fread($handle2,filesize($fileName))){
					fclose($handle2);
					$handle3 = fopen($targetFile,'a+');
					if(fwrite($handle3, $str)){
						fwrite($handle3,"\n");
						fclose($handle3);
					}
				}
			}
			//如果是文件夹,继续调用mergeCSV方法
			if(is_dir($dirName.'/'.$res)){
				$newDirName = $dirName.'/'.$res;
				mergeCSV($newDirName,$targetFile);
			}
		}
	}
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值