PHP fgetcsv関数でCSVファイルを読み込む
CSVファイルをfgetcsv関数を使って読み込む
CSVファイルはmycsv.txtで、データ区切りはカンマ、データ囲み文字はダブルクォーテーションとする。
<?php
//CSVファイル定義
define('CSVFILE', './mycsv.txt');
define('DELIMITER', ','); //データ区切り(カンマ)
define('ENCLOSURE', '"'); //データ囲み文字(ダブルクォーテーション)
//ファイルを開く
$fp = fopen(CSVFILE, 'r') or die('ファイルが開けません');
//テーブルを出力
echo '<table border="1">';
while ($field_array = fgetcsv($fp, 4096, DELIMITER, ENCLOSURE)) {
echo '<tr>';
foreach ($field_array as $value) {
echo '<td>' . htmlspecialchars($value, ENT_QUOTES) . '</td>';
}
echo '</tr>';
}
echo '<table>';
//ファイルを閉じる
fclose($fp);
?>
fgetcsv([ファイルポインタ], [読み込むバイト数], [デリミタ], [エンクロージャ])の形式で指定する。
デリミタ省略時はカンマ、エンクロージャ省略時はダブルクォーテーションがデフォルト値となる。
「CSVファイル」mycsv.txt
"会員ID","名前","年齢","メール"
1,"yamada",25,"yamada@aaa.com"
2,"suzuki",22,"suzuki@bbb.com"
3,"sato",28,"sato@ccc.com"
「出力結果」
会員ID 名前 年齢 メール 1 yamada 25 yamada@aaa.com 2 suzuki 22 suzuki@bbb.com 3 sato 28 sato@ccc.com