Как прочитать CSV-файл
Короткий ответ
Откройте файл и читайте строки функцией fgetcsv():
<?php
$file = sys_get_temp_dir() . '/recipe.csv';
file_put_contents($file, "name,price\nTea,250\nCoffee,400\n");
$handle = fopen($file, 'r');
while (($row = fgetcsv($handle, null, ',', '"', '')) !== false) {
echo implode(' | ', $row), "\n";
}
fclose($handle);Результат:
name | price
Tea | 250
Coffee | 400Строки с названиями полей
Первую строку возьмите как заголовки и соедините с остальными через array_combine():
<?php
$file = sys_get_temp_dir() . '/recipe.csv';
file_put_contents($file, "name,price\nTea,250\nCoffee,400\n");
$handle = fopen($file, 'r');
$header = fgetcsv($handle, null, ',', '"', '');
$rows = [];
while (($row = fgetcsv($handle, null, ',', '"', '')) !== false) {
$rows[] = array_combine($header, $row);
}
fclose($handle);
echo $rows[1]['name'], ' ', $rows[1]['price'];Результат:
Coffee 400Функции из этого ответа
- fgetcsv — Читает строку файла CSV и разбирает её на поля.
- fputcsv — Записывает массив в файл строкой CSV.
- array_combine — Создаёт массив из двух списков: ключей и значений.