前提
Laravel6でCSVファイルを出力するプログラムを作成しています
現状出力したCSVファイルを確認すると、改行コードが「LF」となっています
CSVファイル作成時では特に改行コードの指定はしていません
実現したいこと
WindowsとMacともに、改行コードを「CRLF」でCSV出力したいです
該当のソースコード
php
1$csv = tmpfile(); 2$headers = [ 3 'ID', 4 '姓', 5 '名', 6]; 7fputcsv($csv, $headers); 8 9foreach($users as $user) { 10 $row = []; 11 $row[] = $user->id; 12 $row[] = $user->first_name; 13 $row[] = $user->last_name; 14} 15fputcsv($csv, $row);
試したこと
CSVファイルに「\r\n」を追加することで改行コードが変わるかと思いましたが変化なしでした
php
1//試したこと1. 行の末尾に「\r\n」を追加 2foreach($users as $user) { 3 $row = []; 4 $row[] = $user->id; 5 $row[] = $user->first_name; 6 $row[] = $user->last_name; 7 $row[] = "\r\n"; 8} 9 10//試したこと2. fputcsv()の前に「\n」を「\r\n」に置換 11str_replace($csv, "\n", "\r\n"); 12fputcsv($csv, $row);
補足情報(FW/ツールのバージョンなど)
ダウンロードを試した環境は以下です
- Windows Chrome
- Mac Chrome