fgetc
fgets
Файловая система
PHP Manual

# fgetcsv

(PHP 4, PHP 5)

fgetcsv — Читает строку из файла и производит разбор данных CSV

### Описание

array fgetcsv ( resource `$handle` [, int `$length` [, string `$delimiter` [, string `$enclosure` ]]] )

`handle`
  Корректный файловый указатель на файл, успешно открытый при помощи fopen(), popen(), или fsockopen().
`length` (Необязательный)
  Должен быть больше самой длинной строки (в символах), найденной в CSV-файле (включая завершающий символ конца строки). Он стал необязательным в PHP 5. Если этот аргумент не указан (или равен 0 в версиях PHP 5.0.4 и выше), максимальная длинна строки не ограничена, но функция работает немного медленнее.
`delimiter` (Необязательный)
  Устанавливает разделитель поля (только один символ). По умолчанию это запятая.
`enclosure` (Необязательный)
  Устанавливает символ ограничителя поля (только один символ). По умолчанию это двойная кавычка. Добавлен в PHP 4.3.0.

Данная функция похожа на функцию fgets(), с той разницей, что она производит анализ строки на наличие записей в формате CSV и возвращает найденные поля в качестве массива.

Функция fgetcsv() возвращает `FALSE` в случае ошибки, а также по достижению конца файла.

> Замечание: Пустая строка CSV-файла будет возвращена в качестве массива, содержащего единственный элемент null, ошибки в данном случае не возникнет.

Пример #1 Чтение и вывод на экран содержания CSV-файла

`<?php
$row = 1;
$handle = fopen("test.csv", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num полей в строке $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
?>`

fgetcsv() стала правильно обрабатывать двоичные данные начиная с версии PHP 4.3.5

> Замечание: Эта функция принимает во внимание настройки локали. К примеру, если LANG установлен в en_US.UTF-8, то файлы в однобайтовой кодировке будут неправильно прочитаны этой функцией.

> Замечание: Если у вас возникают проблемы с распознаванием PHP окончания строк при чтении файлов на Macintosh-совместимом компьютере или при чтении файлов, созданных на Macintosh-совместимом компьютере, необходимо включить опцию auto_detect_line_endings.

См.также описание функций explode(), file(), pack() и fputcsv().

fgetc
fgets
Файловая система
PHP Manual