加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP操作csv文件代码解析

发布时间:2022-02-18 01:53:48 所属栏目:PHP教程 来源:互联网
导读:在php中读取操作csv文件的方法有很多,最简单的可以直接使用fopen像打开txt文件打开,然后利用explode分开就成了,生成也一样直接使用a,b,c,e保存成csv格式就KO,但php还提供了fputcsv函数对csv文件操作,下面我来介绍介绍. 1.生成CVS,fputcsv()将行格式化为 CS
  在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>";
  }
  ?>

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读