# php CSV データ取得は fgetcsv 使う
$file_path = $request->file('file')->getRealPath();
$fh = fopen($file_path, 'r');
$k = 0;
while ($line = fgetcsv($fh)) {
// 一行目飛ばし
if ($k == 0) {
$k++;
continue;
}
// カラム処理
for ($i = 0; $i < count($line); $i++) {
}
$k++;
}
fclose($fh);
fgetcsv とは
ファイルポインタから行を取得し、CSV フィールドを処理する関数
# fgetcsv 仕様
fgetcsv($handle, $length, $delimiter, $enclosure, $escape)
| メソッド | 説明 |
|---|---|
$handle | 有効なファイルポインタ |
$length | CSV ファイルにある最も長い行よりも大きい必要がある |
$delimiter | フィールドのデリミタ (1 文字のみ) |
$enclosure | フィールド囲いこみ文字 (1 文字のみ) |
$escape | エスケープ文字 (最大で 1 文字) |
デフォルト値
fgetcsv(
resource $stream,
?int $length = null,
string $separator = ",",
string $enclosure = "\"",
string $escape = "\\"
): array|false