zoukankan      html  css  js  c++  java
  • php 上传csv文件

    php fgetcsv()函数

    定义和用法

    fgetcsv() 函数从文件指针中读入一行并解析 CSV 字段。

    与 fgets() 类似,不同的是 fgetcsv() 解析读入的行并找出 CSV 格式的字段,然后返回一个包含这些字段的数组。

    fgetcsv() 出错时返回 FALSE,包括碰到文件结束时。

    注释:从 PHP 4.3.5 起,fgetcsv() 的操作是二进制安全的。

    语法

    fgetcsv(file,length,separator,enclosure)
    参数描述
    file 必需。规定要检查的文件。
    length

    可选。规定行的最大长度。必须大于 CVS 文件内最长的一行。

    在 PHP 5 中该参数是可选的。在 PHP 5 之前是必需的。

    如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。

    separator 可选。设置字段分界符(只允许一个字符),默认值为逗号。
    enclosure

    可选。设置字段环绕符(只允许一个字符),默认值为双引号。

    该参数是在 PHP 4.3.0 中添加的。

    提示和注释

    注释:CSV 文件中的空行将被返回为一个包含有单个 null 字段的数组,不会被当成错误。

    注释:该函数对区域设置是敏感的。比如说 LANG 设为 en_US.UTF-8 的话,单字节编码的文件就会出现读取错误。

    注释:如果碰到 PHP 在读取文件时不能识别 Macintosh 文件的行结束符,可以激活 auto_detect_line_endings 运行时配置选项。

    例子

    例子 1

    <?php
    
    $file = fopen("contacts.csv","r");
    print_r(fgetcsv($file));
    fclose($file);
    
    ?>

    CSV 文件:

    George, John, Thomas, USA
    James, Adrew, Martin, USA

    输出类似:

    Array 
    ( 
    [0] => George
    [1] => John 
    [2] => Thomas
    [3] => USA
    )

    例子 2

    <?php
    
    $file = fopen("contacts.csv","r");
    
    while(! feof($file))
      {
      print_r(fgetcsv($file));
      }
    
    fclose($file);
    
    ?> 

    CSV 文件:

    George, John, Thomas, USA
    James, Adrew, Martin, USA

    输出类似:

    Array 
    ( 
    [0] => George
    [1] => John 
    [2] => Thomas
    [3] => USA
    
    Array
    (
    [0] => James
    [1] => Adrew
    [2] => Martin
    [3] => USA
    )

     

    //$file csv文件
    
     function get_csv($file){  
    
      $ofile = $file;  
    
      $file = fopen($file, 'r');  
      while ($data = fgetcsv($file)) {   
        $goods_list[] = $data;  
       }  
       fclose($file);  
      foreach ($goods_list as $key=>$val){  
        $data[ 'area'] = iconv('gb2312' , 'utf-8', $val[0]);  
        $data[ 'city'] = iconv('gb2312' , 'utf-8', $val[1]);  
        $data[ 'manager'] = iconv('gb2312' , 'utf-8', $val[2]);  
        $data[ 'seniorManager'] = iconv('gb2312', 'utf-8' , $val[3]);  
        $data[ 'shopnum'] = iconv('gb2312' , 'utf-8', $val[4]);  
        $data[ 'name'] = iconv('gb2312' , 'utf-8', $val[5]);  
        $data[ 'address'] = iconv('gb2312' , 'utf-8', $val[6]);  
        $data[ 'lat'] = iconv('gb2312' , 'utf-8' , $val[7]);  
        $data[ 'lng'] = iconv('gb2312' , 'utf-8' , $val[8]);  
        //将$data传入数据库  
        }  
        unlink($ofile);  
    }  
  • 相关阅读:
    Spring-boot-admin功能说明
    Spring Boot Admin 的使用 2
    Spring Boot Admin的使用
    windows下的Nodejs及npm的安装、常用命令,Nodejs开发环境配置
    dataTables-使用详细说明整理
    JQuery Datatables Dom 和 Language 参数详细说明
    深入SpringBoot:自定义PropertySourceLoader
    java complier compliance level问题引发的思考
    在线代码格式化工具
    Gradle中的buildScript代码块
  • 原文地址:https://www.cnblogs.com/ddddemo/p/5624269.html
Copyright © 2011-2022 走看看