CSV(CommaSeparated値)は、広く使用されている構造化されたテキストデータ形式です。 PHPには、CSVファイルを簡単に読み取り、書き込み、操作できるさまざまな組み込み関数があり、開発作業を大幅に簡素化します。
$handle = fopen('data.csv', 'r');
while (($row = fgetcsv($handle)) !== FALSE) {
// データの各行を処理します
}
fclose($handle);
$handle = fopen('data.csv', 'w');
fputcsv($handle, ['col1', 'col2', 'col3']);
fclose($handle);
$row = fgetcsv($handle);
$values = explode(',', $row[0]);
$row = ['col1', 'col2', 'col3'];
$csvLine = implode(',', $row);
メモリが限られている環境の場合、ジェネレーターベースのSplfileObjectクラスを使用すると、メモリオーバーフローを効果的に回避でき、大きなファイルの処理に適しています。
$handle = fopen('data.csv', 'r');
$csv = new SplFileObject('data.csv');
$csv->setFlags(SplFileObject::READ_CSV);
foreach ($csv as $row) {
// データの各行を処理します
}
ユーザー名、電子メール、およびパスワードを備えたCSVファイルがあるとします。次のコードは、ファイルの読み方とユーザーのインポート方法を示しています。
// 開ける CSV 書類
$handle = fopen('users.csv', 'r');
// タイトル行をスキップします
fgetcsv($handle);
// ユーザーデータラインを読み取り、処理します
while (($row = fgetcsv($handle)) !== FALSE) {
$username = $row[0];
$email = $row[1];
$password = $row[2];
// ここでは、カスタム関数を呼び出してユーザーを挿入します
insert_user($username, $email, $password);
}
fclose($handle);