(PHP 3>= 3.0.8, PHP 4 )
fgetcsv --
ファイルポインタから行を取得し、CSVフィールドを処理する
説明
array
fgetcsv ( int fp, int length, string
[delimiter])
fgets()に動作は似ていますが、
fgetcsv()は行をCSVフォーマッ
トのフィールドとして読込み処理を行い、読み込んだフィールドを含む
配列を返すという違いがあります。フィールドのデリミタは、オプショ
ンの3番目のパラメータで別のデリミタを指定した場合を除きカンマです。
fpは、fopen()、
popen()、fsockopen()で正常
にオープンされたファイルへのファイルポインタである必要があります。
lengthは、(行末文字を考慮して)CSVファイル
にある最も長い行よりも大きい必要があります。
fgetcsv()はファイルの終端に達した場合を含み、
エラー時にFALSEを返します。
CSVファイルの空行はヌルフィールドを一つだけ含む配列として返され、
エラーにはなりません。
例 1
fgetcsv() によりCSV ファイルの内容全体を読み
込み、出力します。
$row = 1;
$fp = fopen ("test.csv","r");
while ($data = fgetcsv ($fp, 1000, ",")) {
$num = count ($data);
print "<p> $num fields in line $row: <br>";
$row++;
for ($c=0; $c < $num; $c++) {
print $data[$c] . "<br>";
}
}
fclose ($fp); |
|