プログラミング PHP

【PHP入門】CSVファイルを出力する方法

本記事では、fputcsv関数を使ったCSVファイルを出力する方法を紹介します。

fputcsv関数でCSVファイルを出力する

PHPには配列のデータをCSV形式のフォーマットで書き込みをおこなう「fputcsv」という関数があります。
fputcsv関数を使うことで簡単にCSVファイルを出力できます。

fputcsv関数でCSVファイルを出力するには、fopen関数でファイルをオープンし、fputcsv関数で1行ずつ配列のデータをCSVファイルに書き込み、最後にfclose関数でオープンしたファイルを閉じます。

open関数でファイルをオープンするときの第2引数には「モード」を指定します。
今回はCSVファイルへの書き込みなので "w" を指定しています。
(ファイルがなければ新規にファイル作成し、既にファイルが存在する場合は上書き保存します)

主なモードは次のとおりです。

ファイルを開くときのモード説明
r読み込み専用
w書き出し専用
a追加書き出し

既存のCSVファイルに追記する場合は "w" ではなく "a" を指定します。

fputcsv関数の使用例

それでは、実際にPHPのソースコードでfputcsv関数の使用例を紹介します。

[fputcsv関数の例]

<?php
 $list = array (
  array('No', '名前', '年齢', '住所'),
  array('1', '山田一郎', '33','東京都千代田区'),
  array('2', '佐藤二郎', '25','大阪府大阪市'),
  array('3', '高橋三郎', '22','神奈川県横浜市'),
  array('4', '鈴木四郎', '18','北海道札幌市'),
  array('5', '加藤五郎', '16','愛知県名古屋市')
 );
 // ファイルを開く
 $fp = fopen('C:\tmp\file.csv', 'w');
 // 1行ずつ配列の内容をファイルに書き込む
 foreach ($list as $field) {
  fputcsv($fp, $field);
 }
 // ファイルを閉じる
 fclose($fp);
?>

出力されたCSVファイルの内容は次のとおりです。

[file.csv]
No,名前,年齢,住所
1,山田一郎,33,東京都千代田区
2,佐藤二郎,25,大阪府大阪市
3,高橋三郎,22,神奈川県横浜市
4,鈴木四郎,18,北海道札幌市
5,加藤五郎,16,愛知県名古屋市

fputcsv関数を使うことで、配列の内容をCSVファイルに書き込むことができました。処理の流れは次のとおりです。

処理の流れ

  1. fopen関数でファイルをオープン
  2. fputcsv関数で配列のデータを1行ずつファイルに書き込む(CSV形式のフォーマットで書き込む)
  3. fclose関数でオープンしたファイルを閉じる

fputcsv関数を使ったCSVファイルを出力する方法を説明しました。PHPを学習されている方のお力になれれば幸いです。

PHP学習書の紹介

プログラミングは全く初めての人、他の入門書で挫折しちゃった人、つまづく所はみんな同じです。そこを徹底分析したメソッドで、全員ゴールに辿り着ける入門教室が秋葉原にあります。1日でWeb画面と簡単なDBまで作れるようになるとってもユニークな速習コース。その方法を1冊に凝縮した本書なら、いきなりの初心者でも、無理せず楽しくPHPとMySQLのエッセンスを習得できます。

PHPの入門書を卒業した方や、多少プログラミング経験のある方なら、
本書を通じて本格的なシステム開発の世界に入って行けます。
ショッピングサイトの構築を楽しく進める中で、
システム開発に必要な力が自然に身に付くように、
練りに練ったストーリーを組んであるからです。

-プログラミング, PHP