本記事では、fgetcsv関数を使ったCSVファイルを読み込む方法について紹介しています。
CSVファイルの読み込み(fgetcsv)
PHPでは、CSVファイルの内容を読み込んで配列に格納してくれる「fgetcsv」という関数があります。
fgetcsv関数を使うことで簡単にCSVファイルを読み込むことができます。
fgetcsv関数でCSVファイルを読み込むには、fopen関数でファイルをオープンし、fgetcsv関数でCSVファイルの内容を読み込む、そして最後にfclose関数でオープンしたファイルを閉じます。
open関数でファイルをオープンするときの第2引数には「モード」を指定します。
今回はCSVファイルの読み込みなので "r" を指定しています。
主なモードは次のとおりです。
ファイルを開くときのモード | 説明 |
r | 読み込み専用 |
w | 書き出し専用 |
a | 追加書き出し |
fgetcsv関数の例
それでは、実際にPHPのソースコードでfgetcsv関数の使用例を紹介します。
[fgetcsvの使用例]
<?php
// ファイルを開く
$fp = fopen('C:\tmp\sample.csv', 'r');
// 1行ずつ読み込む
while($line = fgetcsv($fp)) {
var_dump($line);
echo "<br>";
}
// ファイルを閉じる
fclose($fp);
?>
[実行結果 例]
array(4) { [0]=> string(2) "No" [1]=> string(6) "名前" [2]=> string(6) "年齢" [3]=> string(6) "住所" }
array(4) { [0]=> string(1) "1" [1]=> string(12) "山田一郎" [2]=> string(2) "30" [3]=> string(18) "東京都渋谷区" }
array(4) { [0]=> string(1) "2" [1]=> string(12) "佐藤二郎" [2]=> string(2) "25" [3]=> string(18) "大阪府大阪市"
array(4) { [0]=> string(1) "3" [1]=> string(12) "鈴木三郎" [2]=> string(2) "22" [3]=> string(21) "神奈川県横浜市" }
array(4) { [0]=> string(1) "4" [1]=> string(12) "高橋四郎" [2]=> string(2) "18" [3]=> string(18) "北海道札幌市" }
array(4) { [0]=> string(1) "5" [1]=> string(12) "斉藤五郎" [2]=> string(2) "16" [3]=> string(21) "愛知県名古屋市" }
fgetcsv関数を使用することで、配列に格納できました。処理の流れは次のとおりになります。
処理の流れ
- fopen関数でファイルをオープン
- fgetcsv関数で1行ずつファイルを読み込む ※while文で読み込むデータがなくなるまで繰り返す
- var_dump関数で読み込んだ内容(配列に格納されたデータ)を出力する
- fclose関数でオープンしたファイルを閉じる
fgetcsv関数を使ったCSVファイルを読み込む方法について説明しました。PHPを学習する方のお力になれれば幸いです。
PHP学習書の紹介
PHP本格入門[上] 〜プログラミングとオブジェクト指向の基礎からデータベース連携まで [ 大家正登 ] 価格:3,938円 |
Webアプリケーションの定番言語であるPHPの基礎から実践までを、上下巻のフルボリュームで集大成。
「この目的を実現するためには、どの文法テクニックが適合しやすいだろう?」
「このプログラムをより読みやすくするために、どんなアプローチができるだろう?」
といったことを思考しつつ、「とりあえずは動く」だけで終わらない、現場に求められる品質を形にするための知識とテクニックを解説します。
PHP本格入門[下] 〜オブジェクト指向設計、セキュリティ、現場で使える実践ノウハウまで [ 大家正登 ] 価格:3,938円 |