fgetcsv
fgetcsv
取得档案指标所指行,并剖析 CSV 栏位。
语法: array fgetcsv(int fp, int length, string [delimiter]);
传回值: 阵列
函式种类: 档案存取
内容说明
本函式与 fgets() 的功用类似,不同的地方在于本函式用来剖析读取行的 CSV 栏位资料,并将其放入阵列变数之中。其中的第三个参数 delimiter 若未指定,则使用内定值:逗号。其中的档案指标 fp 必须是有效的,且必须是已经用 fopen()、popen() 或 fsockopen() 成功开档的指标。而第二个参数 length 的值必须要比 CSV 档案最长一行的字元数还大。本函式若发生错误或者到档尾 (EOF, end of file),则会传回 false 值。若遇到空行,则传到阵列结构的字元为空字元栏位 (null),而不是当作发生错误的情形。
使用范例
<?
$row=1;
$fp = fopen("mycsv.csv","r");
while ($data = fgetcsv($fp,1000, ",")) {
$num = count($data);
print "<p>栏位 $num 在第 $row 行: <br>";
$row++;
for ( $c=0; $c<$num; $c++ ) print $data[$c] . "<br>";
}
fclose($fp);
?>