(PHP 5 >= 5.1.0, PHP 7)
fputcsv — 行を CSV 形式にフォーマットし、ファイルポインタに書き込む
$handle
, array $fields
[, string $delimiter = ","
[, string $enclosure = '"'
[, string $escape_char = "\"
]]] )
fputcsv() は、行(fields
配列として渡されたもの)を CSV としてフォーマットし、それを
handle で指定したファイルに書き込みます
(いちばん最後に改行を追加します)。
handleファイルポインタは、有効なファイルポインタである必要があり、 fopen() または fsockopen() で正常にオープンされた (そしてまだ fclose() でクローズされていない) ファイルを指している必要があります。
fields値の配列。
delimiter
オプションの delimiter はフィールド区切り文字
(一文字だけ) を指定します。
enclosure
オプションの enclosure はフィールドを囲む文字
(一文字だけ) を指定します。
escape_char
オプションの escape_char は、エスケープ文字
(一文字だけ) を指定します。
書き込んだ文字列の長さを返します。失敗した場合に FALSE を返します。
| バージョン | 説明 |
|---|---|
| 5.5.4 |
escape_char パラメータが追加されました。
|
例1 fputcsv() の例
<?php
$list = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789'),
array('"aaa"', '"bbb"')
);
$fp = fopen('file.csv', 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
?>
上の例が書き出す file.csv の内容は、このようになります。
aaa,bbb,ccc,dddd 123,456,789 """aaa""","""bbb"""
注意: マッキントッシュコンピュータ上で作成されたファイルを読み込む際に、 PHP が行末を認識できないという問題が発生した場合、 実行時の設定オプションauto_detect_line_endings を有効にする必要が生じるかもしれません。