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文件的某一行数据
<?phpfunction 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文件制定行数(行区间)
<?phpfunction 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++;
}?>
共同学习,写下你的评论
评论加载中...
作者其他优质文章