<?php $view = ""; $list = array( array( '三石琴乃', '田中敦子', '榊原良子', '池田昌子', ), array( '髙橋孝治', '関俊彦', '田の中勇', ), ); foreach ($list as $value) { //配列の内容を「,」区切りで連結する $view .= implode(",", $value). "\r\n"; } $view = pack('C*',0xEF,0xBB,0xBF). $view; //「$view」を「koe.csv」ファイルに書き出しする file_put_contents("koe.csv", $view);
CSVで読み込んで何か処理をするという依頼は多いのですが、Excelの出力にはBOMが付きものなので、CSV読み込みはなかなかストレートにはいきません。 一般的に、UTF-8のBOM付き・無しについては、マニアックな知識になってしまうため、運用に説明するよりもそもそもBOM両対応のCSV読み込み機構を用意してしまえば話ははやい。ということで、今回作成しました。(PHPでの実装です) 方法ネット上には、先人たちの貴重な資産(コード)が転がっていますので、さっとコピペで済まそうと思いましたが、preg_match等を使って読み込んだCSVファイルを編集(BOM削除)してから、再度読み込む方法が多かったです。 それでも動けば良いのですが、CSVのファイルサイズが大きいとメモリ使用量への影響が懸念されますので、 今回、ファイルポインタを使いBOMの部分をスルーして読み込む方法を試みます。 コード
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く