PHPでCSV出力する処理をいつも忘れるのでとりあえずメモ

PHPでCSV出力する処理をいつも忘れるのでとりあえずメモ


どの現場でも必ずあるタスクが、CSV出力だと思います。

 

ただいつもこのタスクが自分は苦手というか、何となくいやだな〜って思うことが多いので、

ひとまず忘れないようにメモ。

 

今回テストように書いたソースはこんな感じ。

CSVに出力する用のデータは直にdata変数に保持。

$data = array(
  apple,
  orange,
  peach,
  banana
);
$filename = "fruits.csv";
$dir = "./".$filename;
if(file_exists($dir)) {
  unlink($dir);
}

foreach($data as $value) {
	$csv = mb_convert_encoding($value, 'SJIS-win', 'UTF-8');
	$fp = @fopen($dir, "a");
	if($fp) {
	  fwrite($fp, $csv."\n");
	  fclose($fp);
	}
}
ええ、ええ、そうです。
fopenとかfwriteとか、ファイルシステム関数が今ひとつ自分の血肉になっていない感じなんです。
最初にしていされたパスにファイルがあるかどうかチェック。
あれば削除。

if(file_exists($dir)) {
unlink($dir);
}
で書き込みたいデータをループで回し、
一応エンコード対策もして、
fopenでファイルを編集できるようにして、
fwriteで書き込み
fcloseでファイルを閉じる
みたいな流れになります。
foreach($data as $value) {
	$csv = mb_convert_encoding($value, 'SJIS-win', 'UTF-8');
	$fp = @fopen($dir, "a");
	if($fp) {
	  fwrite($fp, $csv."\n");
	  fclose($fp);
	}
}
実際に出力されたCSVファイルには、
ちゃんとCSVに書き込まれているようです。OKー
fopen とか fwriteとか、このあたりは絶対に業務で使うと思いますので、早めに習得することをおすすめします。
慣れたら、どの言語も似通った関数が用意されてるので、一度使いこなせたら大丈夫ですね。

現場で働けるエンジニア育成プラン

未経験からエンジニアに転職したいと考えている人を対象にレッスンを行っております。


私は29歳未経験からエンジニアに転職しました。

それまではミュージシャンを目指して音楽活動ばかり。
社会人としての経験はゼロでした。

エンジニア転職を決めたきっかけは、
その当時、ミュージシャンという職に対して将来的に希望がもてず、お金もなく、副業でやっていた物販にも失敗し、借金も1000万オーバー。
まさに人生のどん底で、そんなときに次の人生のステージとしてプログラミングという世界を選択しました。

あれから、数年。
今ではフリーランスとして仕事ができており、
収入もあの頃の数倍にまでなり、借金も返済できました。
エンジニア転職で人生が変わったといっても過言ではありません。

ただ、エンジニアに転職してからの時期は、困難の連続でした。
とくに最初の1−2年は、わからないことだらけで、本当にハゲるかと思うくらい苦しく、
実際に1年半後には適応障害になり、体を壊してしまいました。

プログラマーという職はタフな仕事です。

これからエンジニアを目指される方には、少しでも現場で苦労してほしくないという気持ちで、プログラミングのレッスンをしております。

私のレッスンではPHPを基本的なところからしっかりと学習していただいております。

これからPHPを使ってバックエンドエンジニアになりたい方には、大変おすすめのレッスン内容になっております。

レッスンはマンツーマン形式を採用しており、
しっかりとメンティーさんお一人お一人に対して、丁寧にコードレビューをして、
プログラミングの基礎をしっかりと身につけていただきます。
出題する問題には回答は用意しておらず、ご自身がしっかりとロジックを考えることを最大限重視しています。
また現場基準でコードレビューをしっかりおこなっておりますので、悪いクセがつくことを防ぎます。

PHPを基礎からしっかりと学習したい、Webエンジニアとして転職を考えているということでしたら、私のレッスンはおすすめできます。

実際の実績としても、
30代での転職成功者も多数!
未経験から機械学習エンジニアに転職成功!
MENTAでは圧倒的に高評価のレビューをいただいております。

エンジニアに転職して、人生を変えたい
再チャレンジしたい
と思っている方
もしかするとお力になれるかもしれません。

まずはお気軽にご相談ください。