fputcsv: 行を CSV 形式にフォーマットし、ファイルポインタに書き込む (ファイルシステム 関数) - PHPプロ!マニュアル

PHPマニュアル

fputcsv: 行を CSV 形式にフォーマットし、ファイルポインタに書き込む

fputcsv

(PHP 5 >= 5.1.0)

fputcsv行を CSV 形式にフォーマットし、ファイルポインタに書き込む

説明

int fputcsv ( resource $handle , array $fields [, string $delimiter = ',' [, string $enclosure = '"' ]] )

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フィールドを処理する


PHPマニュアル



Pick Up Q&A

Q
セッションがいいのか、それともデータベースがいいのか教えて下さい。
 このエントリーをはてなブックマークに追加 
A
>ボタンをクリックしたら選んだ商品情報を持っておきたいと思っています。 そのくらいのことならセッションもしくはCookie(期限短め:場合によってはブラウザ閉じるまで)でいいんじゃないですかね。 #わ...

>>続きを読む

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

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)