csv文件读写操作
2011-03-24 13:53
204 查看
函数:
PHP有自带的分析.csv函数:fgetcsv
array fgetcsv ( int $handle [, int $length [, string $delimiter [, string $enclosure]]] )
handle 一个由 fopen()、popen() 或 fsockopen() 产生的有效文件指针。
length (可选)必须大于 CVS 文件内最长的一行。在 PHP 5 中该参数是可选的。如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。
delimiter (可选)设置字段分界符(只允许一个字符),默认值为逗号。
enclosure (可选)设置字段环绕符(只允许一个字符),默认值为双引号。该参数是在 PHP 4.3.0 中添加的。 和 fgets() 类似,只除了 fgetcsv() 解析读入的行并找出 CSV 格式的字段然后返回一个包含这些字段的数组。
fgetcsv() 出错时返回 FALSE,包括碰到文件结束时。
注意: CSV 文件中的空行将被返回为一个包含有单个 null 字段的数组,不会被当成错误。
fputcsv() ,fputcsv(file,fields,seperator,enclosure)
.函数将行格式化为 CSV 并写入一个打开的文件。
该函数返回写入字符串的长度。若出错,则返回 false。。
1.CSV的读取操作
<?php
$file= fopen(
'D:/file/file.csv'
,
'r'
);
while
($data =fgetcsv($file)){ //每次读取CSV里面的一行内容
print_r($data);//此为一个数组,要获得每一个数据,访问数组下标即可
}
fclose($file);
?>
<?php
$file = fopen('D:/file/file.csv','r');while ($data = fgetcsv($file)) {
//每次读取CSV里面的一行内容 print_r($data);//此为一个数组,要获得每一个数据,访问数组下标即可 }
fclose($file); ?>
2.CSV的写入操作
<?php
$fp= fopen(
'd:/file/file.csv'
,
'w'
);
fputcsv($fp,array
('aaa'
,'bbb'
,'cccc'
));
fputcsv($fp,array
('mmm'
,'yyy'
,'haha'
)); //fputcsv可以用数组循环的方式进行实现
fclose($fp);
?>
<?php
$fp = fopen('d:/file/file.csv',
'w');fputcsv($fp,array('aaa','bbb','cccc'));fputcsv($fp,array('mmm','yyy','haha'));
//fputcsv可以用数组循环的方式进行实现fclose($fp); ?>
3.输出CSV(下载功能)
<?php
header(
"Content-Type: text/csv"
);
header("Content-Disposition: attachment;filename=test.csv"
);
header('Cache-Control:must-revalidate,post-check=0,pre-check=0'
);
header('Expires:0'
);
header('Pragma:public'
);
echo"id,areaCode,areaName "
;
echo"1,cn,china "
;
echo"2,us,America "
;
?>
PHP有自带的分析.csv函数:fgetcsv
array fgetcsv ( int $handle [, int $length [, string $delimiter [, string $enclosure]]] )
handle 一个由 fopen()、popen() 或 fsockopen() 产生的有效文件指针。
length (可选)必须大于 CVS 文件内最长的一行。在 PHP 5 中该参数是可选的。如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。
delimiter (可选)设置字段分界符(只允许一个字符),默认值为逗号。
enclosure (可选)设置字段环绕符(只允许一个字符),默认值为双引号。该参数是在 PHP 4.3.0 中添加的。 和 fgets() 类似,只除了 fgetcsv() 解析读入的行并找出 CSV 格式的字段然后返回一个包含这些字段的数组。
fgetcsv() 出错时返回 FALSE,包括碰到文件结束时。
注意: CSV 文件中的空行将被返回为一个包含有单个 null 字段的数组,不会被当成错误。
fputcsv() ,fputcsv(file,fields,seperator,enclosure)
.函数将行格式化为 CSV 并写入一个打开的文件。
该函数返回写入字符串的长度。若出错,则返回 false。。
1.CSV的读取操作
<?php
$file= fopen(
'D:/file/file.csv'
,
'r'
);
while
($data =fgetcsv($file)){ //每次读取CSV里面的一行内容
print_r($data);//此为一个数组,要获得每一个数据,访问数组下标即可
}
fclose($file);
?>
<?php
$file = fopen('D:/file/file.csv','r');while ($data = fgetcsv($file)) {
//每次读取CSV里面的一行内容 print_r($data);//此为一个数组,要获得每一个数据,访问数组下标即可 }
fclose($file); ?>
2.CSV的写入操作
<?php
$fp= fopen(
'd:/file/file.csv'
,
'w'
);
fputcsv($fp,array
('aaa'
,'bbb'
,'cccc'
));
fputcsv($fp,array
('mmm'
,'yyy'
,'haha'
)); //fputcsv可以用数组循环的方式进行实现
fclose($fp);
?>
<?php
$fp = fopen('d:/file/file.csv',
'w');fputcsv($fp,array('aaa','bbb','cccc'));fputcsv($fp,array('mmm','yyy','haha'));
//fputcsv可以用数组循环的方式进行实现fclose($fp); ?>
3.输出CSV(下载功能)
<?php
header(
"Content-Type: text/csv"
);
header("Content-Disposition: attachment;filename=test.csv"
);
header('Cache-Control:must-revalidate,post-check=0,pre-check=0'
);
header('Expires:0'
);
header('Pragma:public'
);
echo"id,areaCode,areaName "
;
echo"1,cn,china "
;
echo"2,us,America "
;
?>
相关文章推荐
- 对文件夹中所文件(csv)进行读写操作
- C#对.CSV格式的文件--逗号分隔值文件 的读写操作及上传ftp服务器操作方法总结
- 对文件夹中所文件(csv)进行读写操作
- 对文件夹中所文件(csv)进行读写操作
- VC对csv文件进行读写操作
- c++读写操作CSV文件
- OpenCV对csv文件的读写操作
- python读写操作csv文件
- Java实现CSV格式文件的读写(操作API)
- Python实现的简单读写csv文件操作示例
- 对文件夹中所文件(csv)进行读写操作
- DbHelper 操作SQL Server、Oracle、Access、Excel、CSV五种数据源+ Xml文件读写
- 对文件夹中所文件(csv)进行读写操作
- C语言对文件的读写操作以及处理CSV文件的方法
- File文件的读写操作RandomAccessFile类
- 常用的几种文件读写操作
- 细说文件读写操作(读写锁)
- 【c++】csv文件读写
- 9.2Python文件操作(2):文件的基本读写模式
- Linux下C语言的文本文件读写(fputc,fgetc,fwrite,fread对文件读写操作)