Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  php  >  正文 fgetcsv的用法和windows与linux下的兼容问题

fgetcsv的用法和windows与linux下的兼容问题

发布时间:2015-06-23   编辑:www.jquerycn.cn
在php中 fgetcsv() 函数从文件指针中读入一行并解析 CSV 字段。与PHP fgets() 类似,不同的是 PHP fgetcsv() 解析读入的行并找出 CSV 格式的字段,然后返回一个包含这些字段的数组。

在php中 fgetcsv() 函数从文件指针中读入一行并解析 CSV 字段。
与PHP fgets() 类似,不同的是 PHP fgetcsv() 解析读入的行并找出 CSV 格式的字段,然后返回一个包含这些字段的数组。

PHP fgetcsv 定义和用法

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

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

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

语法

fgetcsv(file,length,separator,enclosure)
参数 描述
file 必需。规定要检查的文件。
length 可选。规定行的最大长度。必须大于 CVS 文件内最长的一行。
在 PHP 5 中该参数是可选的。在 PHP 5 之前是必需的。
如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。
separator 可选。设置字段分界符(只允许一个字符),默认值为逗号。
enclosure 可选。设置字段环绕符(只允许一个字符),默认值为双引号。
该参数是在 PHP 4.3.0 中添加的。

提示和注释

注释:
1、CSV 文件中的空行将被返回为一个包含有单个 null 字段的数组,不会被当成错误。
2、该函数对区域设置是敏感的。比如说 LANG 设为 en_US.UTF-8 的话,单字节编码的文件就会出现读取错误。
3、如果碰到 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 )

附:windows与linux下兼容问题
linux平台下 fgetcsv处理的有空数据产生起初以为中php版本问题,其实和版本没有关系。
在window下开发的同事都没有问题,而自己的本本和服务器上和使用linux系统的同事都出现空数据的问题。

解决
设置区域:简体中文,UTF-8编码
setlocale(LC_ALL, 'zh_CN.UTF-8');

您可能感兴趣的文章:
fgetcsv的用法和windows与linux下的兼容问题
php中fgetcsv windows和linux兼容问题
fgetcsv取得的数组元素为空字符串时的解决方法
php 的 fgetcsv() 函数
Linux 简介
php读取csv时,读取中文乱码问题解决方法
解决php fgetcsv 读取csv文件数据不完整问题
linux环境下php读取csv文件中文读取不到的问题解决办法
php使用fgetcsv读取csv文件乱码解决方法
php中DIRECTORY_SEPARATOR,PATH_SEPARATOR常量的作用

关键词: php csv   
[关闭]