今回はPHPでCSV出力をする場合の最もシンプルなコードサンプルをご紹介します。
Webで検索して出てくるコードサンプルは結構複雑なものも多くアレンジしにくかったりしますので、各自でカスタマイズがしやすい最低限必要なコードだけをまとめてみました。
export_csv.php
<?php header("Content-Type: application/octet-stream"); header("Content-disposition: attachment; filename=sample.csv"); $str = "name,email\n"; $str .= "Yamamoto Taro,taro@tadworks.jp\n"; $str .= "Yamada Hanako,hanako@tadworks.jp\n"; echo mb_convert_encoding($str,"SJIS","EUC-JP"); ?>
意外とシンプルですよね。
$strは出力対象となるデータで、カンマで区切られたテキストが1セルに該当します。
あとは、これをベースにデータベースから取得したデータを整形したりして目的のCSVファイルを作るとよいと思います。
またheader部にある「sample.csv」が出力ファイル名となりますが、ファイル名を変えたい場合には動的に割り当てるなど工夫をするとよいでしょう。