Home >php教程 >php手册 >基于PHP读取csv文件内容的详解

基于PHP读取csv文件内容的详解

WBOY
WBOYOriginal
2016-06-06 20:30:521177browse

本篇文章是对PHP读取csv文件的内容进行了详细的分析介绍,需要的朋友参考下

一次性读取csv文件内所有行的数据

复制代码 代码如下:


$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]."
";
}
} */
echo $goods_list[2][0];
fclose($file);
?>


读取csv文件的某一行数据

复制代码 代码如下:


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文件制定行数(行区间)

复制代码 代码如下:


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 $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."
";
}
?>


另外从网上找的两种方法(没测试,香港虚拟主机,不知道好不好使)

复制代码 代码如下:



$handle=fopen("1.csv","r");
while(!feof($handle)){
$buffer=fgetss($handle,2048);
$data=explode(",",$buffer);
$num=count($data);
for($i=0;$iprint_r($data);
}
}
?>


复制代码 代码如下:



$handle=fopen("1.csv","r");
$row=1;
while($data=fgetcsv($handle,1000,",")){
$num=count($data);
for($i=0;$iecho $data[$i];
}
$row++;
}
?>


,美国空间
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn