2012年12月14日に投稿

[PHP] CSV ファイルを生成してブラウザからダウンロードさせる

データベースに保存されているデータ等を、ブラウザからアクセスした際にCSVファイルとしてダウンロードさせたい時があります。CSV形式のデータを自前で作るのは面倒なので、何か便利な関数がないか探したところ fputcsv 関数が見つかりました。

[php]

8行目から9行目
ブラウザからアクセスした際にダウンロードダイアログを表示させてファイルのダウンロードをさせるには、header 関数を使用します。今回の場合は、data.csv というファイル名でダウンロードさせます。

11行目から14行目
CSVデータの生成に fputcsv 関数を使用します。fputcsv 関数は第2引数に配列を渡すと、CSV形式のデータに加工して第1引数のファイルポインターの指すファイルに書き込みを行います。しかし目的はファイルへの書き込みでなく、ブラウザでダウンロードさせることです。そこで fopen 関数の第1引数に「’php://output’」を渡します。こうすることで出力バッファをファイルポインターとして扱うことができます。

関連記事

Leave a Reply