PHP fgetcsv 定义和用法(附windows与linux下兼容问题)

2015-01-24信息快讯网

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 中添加的。
提示和注释

注释: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 )

windows与linux下兼容问题

今天有问题报过来说linux平台下 fgetcsv处理的有空数据产生起初以为中php版本问题,其实和版本没有关系 在window下开发的同事都没有问题,而自己的本本和服务器上,和使用linux系统的同事 都出现空数据的问题

google一下

设置区域:简体中文,UTF-8编码
 
setlocale(LC_ALL, 'zh_CN.UTF-8'); 
深入PHP数据加密详解
php多个字符串替换成同一个的解决方法
基于PHP读取csv文件内容的详解
Yii PHP Framework实用入门教程(详细介绍)
解析PHP工厂模式的好处
解析:通过php socket并借助telnet实现简单的聊天程序
php empty()与isset()区别的详细介绍
php unset全局变量运用问题的深入解析
PHP的curl实现get,post和cookie(实例介绍)
解析php curl_setopt 函数的相关应用及介绍
PHP中array_merge和array相加的区别分析
php fsockopen伪造post与get方法的详解
深入理解curl类,可用于模拟get,post和curl下载
探讨file_get_contents与curl效率及稳定性的分析
php DOS攻击实现代码(附如何防范)
PHP中将网页导出为Word文档的代码
php在文件指定行中写入代码的方法
php替换超长文本中的特殊字符的函数代码
php提示undefined index的几种解决方法
openflashchart 2.0 简单案例php版
PHP中return 和 exit 、break和contiue 区别与用法
MySQL的FIND_IN_SET函数使用方法分享
Notice: Trying to get property of non-object problem(PHP)解决办法
MySQL时间字段究竟使用INT还是DateTime的说明
fgetcvs在linux的问题
Uncaught exception com_exception with message Failed to create COM object
比file_get_contents稳定的curl_get_contents分享
php删除页面记录 同时刷新页面 删除条件用GET方式获得
Linux fgetcsv取得的数组元素为空字符串的解决方法
如何在symfony中导出为CSV文件中的数据
PHP导出MySQL数据到Excel文件(fputcsv)
php fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
©2014-2024 dbsqp.com