本記事では、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ファイルに書き込むことができました。処理の流れは次のとおりです。
処理の流れ
- fopen関数でファイルをオープン
- fputcsv関数で配列のデータを1行ずつファイルに書き込む(CSV形式のフォーマットで書き込む)
- fclose関数でオープンしたファイルを閉じる
fputcsv関数を使ったCSVファイルを出力する方法を説明しました。PHPを学習されている方のお力になれれば幸いです。
PHP学習書の紹介
いきなりはじめるPHP ワクワク・ドキドキの入門教室 [ 谷藤賢一 ] 価格:1,980円 |
プログラミングは全く初めての人、他の入門書で挫折しちゃった人、つまづく所はみんな同じです。そこを徹底分析したメソッドで、全員ゴールに辿り着ける入門教室が秋葉原にあります。1日でWeb画面と簡単なDBまで作れるようになるとってもユニークな速習コース。その方法を1冊に凝縮した本書なら、いきなりの初心者でも、無理せず楽しくPHPとMySQLのエッセンスを習得できます。
気づけばプロ並みPHP 改訂版ーーゼロから作れる人になる! [ 谷藤賢一 ] 価格:2,970円 |
PHPの入門書を卒業した方や、多少プログラミング経験のある方なら、
本書を通じて本格的なシステム開発の世界に入って行けます。
ショッピングサイトの構築を楽しく進める中で、
システム開発に必要な力が自然に身に付くように、
練りに練ったストーリーを組んであるからです。