PHP操作csv文件代码解析
发布时间:2022-02-18 12:15:59 所属栏目:PHP教程 来源:互联网
导读:在php中读取操作csv文件的方法有很多,最简单的可以直接使用fopen像打开txt文件打开,然后利用explode分开就成了,生成也一样直接使用a,b,c,e保存成csv格式就KO,但php还提供了fputcsv函数对csv文件操作,下面我来介绍介绍. 1.生成CVS,fputcsv()将行格式化为 CSV
在php中读取操作csv文件的方法有很多,最简单的可以直接使用fopen像打开txt文件打开,然后利用explode分开就成了,生成也一样直接使用a,b,c,e保存成csv格式就KO,但php还提供了fputcsv函数对csv文件操作,下面我来介绍介绍. 1.生成CVS,fputcsv()将行格式化为 CSV 并写入文件指针,代码如下: <?php $list = array ( 'aaa,bbb,ccc,dddd', '11,22,33', '"php","java"' ); $fp = fopen('file.csv', 'w'); foreach ($list as $line) { fputcsv($fp, explode(',', $line)); } fclose($fp); ?> 小提示,如果你csv中有中文我们需要注意一下中文问题,否则中文乱码就会和你在一起玩哦,下面给了一个实例解决中文乱码,代码如下: <?php /** by www.Cuoxin.com */ $row = 1; $handle = fopen("file.csv","r"); //fgetcsv() 解析读入的行并找出 CSV格式的字段然后返回一个包含这些字段的数组。 while ($data = fgetcsv($handle, 1000, ",")) { //开源代码Cuoxin.com $num = count($data); echo "<p> $num fields in line $row: <br>n"; $row++; for ($c=0; $c < $num; $c++) { //注意中文乱码问题 $data[$c]=iconv("gbk", "utf-8//IGNORE",$data[$c]); echo $data[$c] . "<br>n"; } } fclose($handle); ?> 读取csv文件的某一行数据,代码如下: <?php function get_file_line( $file_name, $line ){ $n = 0; $handle = fopen($file_name,'r'); if ($handle) { while (!feof($handle)) { ++$n; $out = fgets($handle, 4096); if($line==$n) break; } fclose($handle); } if( $line==$n) return $out; return false; } echo get_file_line("windows_2011_s.csv", 10); ?> 读取csv文件制定行数,行区间,代码如下: <?php function get_file_line( $file_name, $line_star, $line_end){ $n = 0; $handle = fopen($file_name,"r"); if ($handle) { while (!feof($handle)) { ++$n; $out = fgets($handle, 4096); if($line_star <= $n){ $ling[] = $out; } if ($line_end == $n) break; } fclose($handle); } if( $line_end==$n) return $ling; return false; } $aa = get_file_line("windows_2011_s.csv", 11, 20); //从第11行到第20行 foreach ($aa as $bb){ echo $bb."<br>"; } ?> (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |