您的位置:首页 > 其它

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 "
;

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: