« PHP:fopen()関数・fclose()関数 | メイン | PHP:fgets()関数・fgetss()関数 »

2006年11月14日

PHP:fgetcsv()関数

fgetcsv()関数は、現在のファイルポインタから1行毎にテキストを取得し、指定した区切り文字で分割した配列を返します。

CSV形式をはじめ、タブ区切りテキストなどを処理するのに適しています。

fgetcsv(intFp, intLen[, str]);

intFp:fopen・fsockopen()関数などによって返されたファイルポインタ
intLen:1行あたりの読み込む最大桁数
str:テキストを分割する区切り文字(省略した場合にはカンマ)

CSVファイルから読み込んだ値をPHP(エンコード:EUC)で処理する例

$f1 = fopen("test.csv", "r");

while($DATA = fgetcsv($f1, 3200, "\t")){  //タブ区切りCSVを取得

    for($i=0; $i<=count($DATA); $i++){
        //CSVファイルのエンコードSJISをEUCに変換
        print mb_convert_encoding($DATA[$i], "EUC-JP", "SJIS");
        print " ";  //スペースを挿入
    }
    print "<hr>";  //区切り線を挿入
}

fclose($f1);

※上記の結果、CSVファイルのデータが順番に出力されます。

投稿者 wing : 2006年11月14日 22:19

コメント