PHP fgetcsv() 函数


定义和用法

fgetcsv() 函数从打开的文件中解析一行,校验 CSV 字段

fgetcsv() 函数会在到达指定长度或读到文件末尾(EOF)时(以先到者为准),停止返回一个新行。

该函数如果成功则以数组形式返回 CSV 字段,如果失败或者到达文件末尾(EOF)则返回 FALSE。

语法

fgetcsv(file,length,separator,enclosure)

参数 描述
file 必需。规定要检查的文件。
length 可选。规定行的最大长度。必须大于 CSV 文件内最长的一行。如果忽略该参数(或者设置为 0),那么行长度就没有限制,不过可能会影响执行效率。

注意:该参数在 PHP 5 之前的版本是必需的。

separator 可选。设置字段分界符(只允许一个字符),默认值为逗号( , )。
enclosure 可选。设置字段环绕符(只允许一个字符),默认值为双引号( " )。

提示和注释

提示:请参阅 fputcsv() 函数。

实例 1

<?php
$file = fopen("contacts.csv","r");
print_r(fgetcsv($file));
fclose($file);
?>

CSV 文件:

Kai Jim, Refsnes, Stavanger, Norway
Hege, Refsnes, Stavanger, Norway

以上的代码将输出:

Array
(
[0] => Kai Jim
[1] => Refsnes
[2] => Stavanger
[3] => Norway
)

实例 2

<?php
$file = fopen("contacts.csv","r");

while(! feof($file))
{
print_r(fgetcsv($file));
}

fclose($file);
?>

CSV 文件:

Kai Jim, Refsnes, Stavanger, Norway
Hege, Refsnes, Stavanger, Norway

以上的代码将输出:

Array
(
[0] => Kai Jim
[1] => Refsnes
[2] => Stavanger
[3] => Norway
)
Array
(
[0] => Hege
[1] => Refsnes
[2] => Stavanger
[3] => Norway
)