Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник PHP

fgetcsv

Читает строку файла CSV и разбирает её на поля.

Синтаксис

fgetcsv(resource $stream, ?int $length = null, string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array|false

Параметры

ПараметрТипОписание
$streamresourceУказатель на открытый файл.
$length?intНеобязательный. Наибольшая длина строки.
$separatorstringНеобязательный. Разделитель полей.
$enclosurestringНеобязательный. Символ кавычек.
$escapestringСимвол экранирования; передавайте пустую строку.

Возвращаемое значение

array|falseМассив полей или `false` в конце файла.

Примеры

Чтение таблицы из CSV:

<?php
 
$file = sys_get_temp_dir() . '/ref-read.csv';
file_put_contents($file, "name,price\nTea,250\n\"Coffee, black\",400\n");
 
$handle = fopen($file, 'r');
$header = fgetcsv($handle, null, ',', '"', '');
 
while (($row = fgetcsv($handle, null, ',', '"', '')) !== false) {
    echo $row[0], ' = ', $row[1], "\n";
}
 
fclose($handle);

Результат:

Tea = 250
Coffee, black = 400

Примечания

Функция правильно разбирает поля в кавычках с запятыми внутри — explode(',', $line) на них ломается. Excel в русской версии сохраняет CSV с разделителем «точка с запятой».

См. также

  • fputcsv — Записывает массив в файл строкой CSV.
  • fopen — Открывает файл для чтения или записи по частям.
  • explode — Разбивает строку на массив по разделителю.

Вопросы и ответы по теме

В учебнике

  • Чтение и запись файлов — Работа с файлами в PHP — запись, чтение, дозапись, чтение по строкам, проверка существования и удаление.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.