fgetcsv

(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);