PHP读取csv文件的内容的方法。

PHP读取csv文件的内容的方法。  
一次性读取csv文件内所有行的数据 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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文件的某一行数据 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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文件制定行数(行区间) 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
  //读取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 <= $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 ){ //www.jbxue.com
     echo $bb . "<br>" ;
}
?>

另外从网上找的两种方法(没测试,不知道好不好使) 

?
1
2
3
4
5
6
7
8
9
10
11
<?
$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 );
}
}
?>

复制代码 代码如下: 

?
1
2
3
4
5
6
7
8
9
10
11
<?
$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 ++;
}
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值