fputcsv: 行を CSV 形式にフォーマットし、ファイルポインタに書き込む (ファイルシステム 関数) - PHPプロ!マニュアル
fputcsv: 行を CSV 形式にフォーマットし、ファイルポインタに書き込む
fputcsv
(PHP 5 >= 5.1.0)
fputcsv — 行を CSV 形式にフォーマットし、ファイルポインタに書き込む
説明
fputcsv() は、行(fields 配列として渡されたもの)を CSV としてフォーマットし、それを handle で指定したファイルに書き込みます (いちばん最後に改行を追加します)。
パラメータ
- handle
-
ファイルポインタは、有効なファイルポインタである必要があり、 fopen() または fsockopen() で正常にオープンされた (そしてまだ fclose() でクローズされていない) ファイルを指している必要があります。
- fields
-
値の配列。
- delimiter
-
オプションの delimiter はフィールド区切り文字 (一文字だけ) を指定します。
- enclosure
-
オプションの enclosure はフィールドを囲む文字 (一文字だけ) を指定します。
返り値
書き込んだ文字列の長さを返します。失敗した場合に FALSE を返します。
例
例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 を有効にする必要が生じるかもしれません。
参考
- fgetcsv() - ファイルポインタから行を取得し、CSVフィールドを処理する




ページのトップへ


一つの目安として、ECサイトの購入情報など絶対に消えてはいけないものはDBに、カートなどの一時的に使用する情報や、ユーザに任意のタイミングで消去されても構わないものはセッションにと使い分けるといいでしょう。