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);
}

php 上传csv文件的更多相关文章

  1. CodeIgniter 无法上传 CSV 文件

    本篇文章由:http://xinpure.com/codeigniter-unable-to-upload-a-csv-file/ 解决 CodeIgniter 中使用 Upload 类无法上传 CS ...

  2. elementUI 上传.csv文件不成功 导入功能

    前言:element上传excel文件   导入功能 目标:点击导入,将excel表格的数据填充到表格. <el-upload class="upload-demo" :ac ...

  3. Springboot 上传CSV文件并将数据存入数据库

    .xml文件依赖配置 <!--csv依赖 --> <dependency> <groupId>org.apache.commons</groupId> ...

  4. php上传excle文件,csv文件解析为二维数组

    解析上传的CSV文件不是什么难事,直接读取转成你想要的数组样子就OK了. public function putStoreStockIn ($filePath = '') { $file = fope ...

  5. struts2文件上传,文件类型 allowedTypes

    struts2文件上传,文件类型 allowedTypes 1 '.a' : 'application/octet-stream', 2 '.ai' : 'application/postscript ...

  6. CI框架上传csv文件

    今天遇到在用CI框架上传csv文件时报错问题: The filetype you are attempting to upload is not allowed. 是类型不允许,想到CI框架的conf ...

  7. shell脚本实现ftp上传下载文件

    前段时间工作中需要将经过我司平台某些信息核验数据提取后上传到客户的FTP服务器上,以便于他们进行相关的信息比对核验.由于包含这些信息的主机只有4台,采取的策略是将生成的4个文件汇集到一个主机上,然后在 ...

  8. struts2实现文件上传(多文件上传)及下载

    一.要实现文件上传,需在项目中添加两个jar文件 二.上传准备的页面 注:必须植入enctype="multipart/form-data"属性,以及提交方式要设置成post &l ...

  9. spring mvc文件上传(单个文件上传|多个文件上传)

    单个文件上传spring mvc 实现文件上传需要引入两个必须的jar包    1.所需jar包:                commons-fileupload-1.3.1.jar       ...

随机推荐

  1. python基础——元组、文件及其它

    Python核心数据类型--元组 元组对象(tuple)是序列,它具有不可改变性,和字符串类似.从语法上讲,它们便在圆括号中,它们支持任意类型.任意嵌套及常见的序列操作. 任意对象的有序集合:与字符串 ...

  2. 管理员常用Windows PowerShell命令Top25

    即使Windows PowerShell已经由来已久,但很多管理员并不愿意主动熟悉PowerShell cmdlet命令行.随着微软扩展了PowerShell的功能,管理员应该对其功能及使用烂熟于心. ...

  3. Django笔记 —— Admin(Django站点管理界面)

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  4. ACE Reactor 源码解析

    http://blogs.readthedocs.org/   ACE的学习笔记,根据源码分析了Reactor模型的实现. 因为笔记编写技术限制,这里仅列出主要目录,如有可能可以抽空复制到该Blog中 ...

  5. 孤荷凌寒自学python第七十五天开始写Python的第一个爬虫5

    孤荷凌寒自学python第七十五天开始写Python的第一个爬虫5 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 直接上代码.详细过程见文末屏幕录像 ...

  6. CodeForces-1132F Clear the String

    题目链接 https://vjudge.net/problem/CodeForces-1132F 题面 Description You are given a string \(s\) of leng ...

  7. LeetCode - 20. Valid Parentheses(0ms)

    Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ...

  8. 论文翻译_Tracking The Untrackable_Learning To Track Multiple Cues with Long-Term Dependencies_IEEE2017

    Tracking The Untrackable: Learning to Track Multiple Cues with Long-Term Dependencies 跟踪不可跟踪:学习跟踪具有长 ...

  9. z 变换

    1. z 变换 单位脉冲响应为 \(h[n]\) 的离散时间线性时不变系统对复指数输入 \(z^n\) 的响应 \(y[n]\) 为 \[ \tag{1} y[n] = H(z) z^{n}\] 式中 ...

  10. pexpect获取远端命令执行结果

    类比于shell的expect, python中使用pexpect模块来模拟用户和终端交互.有的时候使用pexpect.sendline发送命令后,在各种条件影响下, 可能并不能保证命令在远端服务器执 ...