PHP中如何读取csv文件内容,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
一次性读取csv文件内所有行的数据
<?php $file = fopen('windows_2011_s.csv','r'); while ($data = fgetcsv($file)) { //每次读取CSV里面的一行内容 //print_r($data); //此为一个数组,要获得每一个数据,访问数组下标即可 $goods_list[] = $data; } //print_r($goods_list); /* foreach ($goods_list as $arr){ if ($arr[0]!=""){ echo $arr[0]."<br>"; } } */ echo $goods_list[2][0]; fclose($file); ?>
读取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>"; } ?>
另外从网上找的两种方法(没测试,不知道好不好使)
<? $handle=fopen("1.csv","r"); while(!feof($handle)){ $buffer=fgetss($handle,2048); $data=explode(",",$buffer); $num=count($data); for($i=0;$i<$num;$i++){ print_r($data); } } ?>
<? $handle=fopen("1.csv","r"); $row=1; while($data=fgetcsv($handle,1000,",")){ $num=count($data); for($i=0;$i<$num;$i++){ echo $data[$i]; } $row++; } ?>
看完上述内容,你们掌握PHP中如何读取csv文件内容的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。