CSV ファイル出力
ずっと DB に頼ってばかりで、CSV ファイル出力って、ほとんどしてこなかったので
まとめた記事がなかった。
基本
文字コード変換
今では Web サイトは UTF-8 が主流になっているんだろうけど
Excel は、相変わらず Shift-JIS なので
文字コード変換が必要なときもあるでしょう。
- mb_convert_variables('SJIS-win', 'UTF-8', $string);
ファイル保存
試していないので、参考サイトのみ。
パス指定
ダウンロード
Qiita:PHPで連想配列を日本語エンコードしてCSV出力する
SCENE LIVE:【PHP】データをCSVでいい感じにエクスポートする方法
連想配列対応
- $fields = Array('name', 'content',);
- $array = Array(
- 0 => Array('name' => 'yamada', 'content' => 'pitcher',),
- 1 => Array('name' => 'tanaka', 'content' => 'catcher',),
- );
- /* ファイルポインタをオープン */
- $file = fopen("C:\Users\UserName\Downloads\test.csv", "w");
- fputcsv($file, $fields);
- foreach( $array as $key => $assoc_row){
- $numeric_row = array();
- foreach ($fields as $header_name) {
- $numeric_row[] = $assoc_row[$header_name];
- }
- fputcsv($file, $numeric_row);
- }
- /* ファイルポインタをクローズ */
- fclose($file);
参考サイト