读取两文件,不同的内容存入另一个文件中
2014-07-25 00:23
405 查看
<?php /** * 从两个.csv 文件中读出数据 * 比较这两个文件不同的数据,并存入.csv 文件中 */ header("Content-type:text/html;charset=utf-8"); class Readfiledata { /** * 链接数据库 */ private static function connect(){ require_once 'index2.php'; mysql_connect('localhost','root',''); mysql_select_db('sinapay'); } /** * 读文件并获取数据 */ private static function getdata($file) { $handle = fopen ( $file, 'r' ); $orderform = array (); $i=0; while ( false != ($data = fgetcsv ($handle,0,',')) ) { $i++; if($i==1) continue; $orderform [] =trim($data [0],"\t\n\r\0\x0B`\'"); } fclose ( $handle ); return $orderform; } /** * 获取两个文件不同的数据 * * @param String $file1 * @param String $file2 */ private static function getdiffdata($file1, $file2) { $orderform = self::getdata ( $file1 ); $orderform2 = self::getdata ( $file2 ); $diff1 = array_diff ($orderform,$orderform2 ); $diff2 = array_diff ($orderform2,$orderform ); $todiff = array_merge ( $diff1, $diff2 ); $todif=array_values(array_unique($todiff)); return $todif; } /** * 数据写入.csv 文件中 * @param String $filename * @param String $file1 * @param String $file2 */ private static function writefile($filename, $file1, $file2) { $todiffdata = self::getdiffdata ( $file1, $file2 ); $newarray=array(); self::connect(); if(empty($todiffdata)){ echo "两个文件的数据一致"; die; } $toparray=array("charge_id","bussined_id"); $condition=''; $counarray=count($todiffdata)-1; foreach($todiffdata as $key=>$val){ if($key==$counarray){ $condition.="charge_id=$val"; }else{ $condition.="charge_id=$val or "; } } $sql="select charge_id,business_id from sinapay_charge_final where $condition"; $result=mysql_query($sql); while($res=mysql_fetch_array($result)){ $data=array('charge_id'=>$res['charge_id'],'business_id'=>$res['business_id']); $newarray[]=$data; } if (! is_file ( $filename)) { touch ( $filename); } $handle = fopen ($filename, 'a' ); fputcsv($handle, $toparray); foreach($newarray as $value){ fputcsv ( $handle, $value ); } fclose ( $handle ); } /** * 入口文件 */ public static function main($filename,$file1,$file2) { self::writefile ( $filename, $file1, $file2 ); } } $filename = 'total.csv'; $file1 = 'ac.csv'; $file2 = 'ad.csv'; Readfiledata::main ($filename, $file1, $file2 );
相关文章推荐
- 读取两文件,不同的内容存入另一个文件中
- 读取两文件,不同的内容存入还有一个文件里
- 读取两个压缩包,比较文件夹及文件内容的不同之处并添加到另一个文件夹打包下载
- c++中读取文件内容存入到另一个文件
- 通过java的io流将本地文件读取到控制台,并将文件内容再次写入另一个文件中
- 简单的读取文件内容并写到另一个指定的文件中
- 从一个文件读取内容计算出结果,将结果写入到另一个文件中
- LinuxC语言读取文件,分割字符串,存入链表,放入另一个文件
- linux下,用c语言编程,实现从一个文件读取内容到另一个文件,可以在文件的不同位置修改文件内容,并保存。
- java读取文件夹中文件,并复制内容到另一个文件中
- java读取excel、txt 文件内容,传到、显示到另一个页面的文本框里面。
- java读取excel、txt 文件内容,传到、显示到另一个页面的文本框里面。
- 读取源文件内容的每一行,求和再存入最后一行
- python读取文件内容存入mysql
- shell读取文件中的内容,并将其存入到变量中
- Java中读取一个TXT文件中的每行内容的前5个字符,并保存到另一个TXT文件中。
- 从一个文件中读取到的内容写到另一个文件中(read,write,open)
- java 从一个文件中读取内容 复制到 另一个文件中
- C++读取txt文件内容——每行按列存入数组
- python分批定量读取文件内容,输出到不同文件中