PHPのfgetcsv関数
fgetcsv
(PHP 4、PHP 5)
fgetcsv - ファイルから行ポインターを取得し、CSV フィールドに解析します
説明
配列 fgetcsv (resource$process[summary$length[, string$delimiter[, string$enclosed[, string$escape]]]])
fgets() と似ていますが、fgetcsv() は CSV 形式で読み取られたフィールドの行を解析し、読み取られたフィールドを含む配列を返します。
パラメータ
ハンドル
fopen()、popen()、または fsockopen() によって正常に開かれたファイルへの有効なファイル ポインター。
長さ
CSV ファイル内で見つかる最長の行 (文字数) より大きくなければなりません (末尾の行末文字は許可されます)。 PHP 5 ではオプションになりました。このパラメータを省略すると (または PHP 5.0.4 以降では 0 に設定すると)、行の最大長が無制限になり、速度が若干遅くなります。
区切り文字
フィールド区切り文字を設定します(1文字のみ)。デフォルト値はカンマです。
テキスト
外国文字のセット (1 文字のみ)。デフォルトは二重引用符です。
逃げる
エスケープ文字を設定します(1文字のみ)。デフォルト値はバックスラッシュ ( ) です
戻り値
読み取られたインデックス付きフィールドを含む配列を返します。
注: CSV ファイル内の空白行は、単一の空フィールドで構成される配列として返され、エラーとはみなされません。
注: Macintosh でファイルを読み取るとき、またはファイルを作成するときに、PHP が行末を正しく認識しない場合は、auto_detect_line_endings ランタイム構成オプションを有効にすることで、この問題を解決できる可能性があります。
fgetcsv() は、ファイルの終わりなどのエラーが発生した場合に FALSE を返します。
変更
リリースノート
5.3.0 脱獄パラメータが追加されました
4.3.5 fgetcsv ( ) はバイナリセーフになりました
4.3.0 アタッチメントパラメータが追加されました
例
例 #1 CSV ファイルの内容全体を読み取り、印刷します
$行 = 1;
$handle = fopen("test.csv", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
エコー「
行目の
$num 個のフィールド ん」;