开始讨论PHP操作csv文件的问题之前,我们先首先了解一下什么是csv文件。CSV是最通用的一种文件格式,它可以非常容易地被导入各种PC表格及数据库中。此文件,一行即为数据表的一行。生成数据表字段用半角逗号隔开。
了解到这里我们看清楚了csv文件的最大特点,以行排列,每行中的每个数值用逗号隔开。
看到这里,熟悉字符串函数的朋友一定会想到怎么用php读出这个文件的内容,就是打开文件,一行一行读取,然后用implode函数读出每一行的字符串,其返回值就是一个数组,到这里,读取csv文件的问题就转换成了数组处理问题。
代码如下:
<?
$handle=fopen("1.csv","r");
while(!feof($handle)){
$buffer=fgetss($handle,2048);
$data=explode(",",$buffer);
$num=count($data);
for($i=0;$i<$num;$i++){
print_r($data);
}
}
?>
本方法中的相关函数的详细用法,这里不再赘述,请自行参考PHP帮助文档。
熟悉PHP函数的朋友或许不会忘记PHP里面还有这样一个函数fgetcsv,该函数是专门用来读取csv文件的,下面介绍第二种方法。代码如下:
<?
$handle=fopen("1.csv","r");
$row=1;
while($data=fgetcsv($handle,1000,",")){
$num=count($data);
for($i=0;$i<$num;$i++){
echo $data[$i];
}
$row++;
}
?>
两种方法,各有优劣,具体情况,适当选择。