Функции для работы с файловой системой
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($handle1000",")) !== 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-совместимом компьютере, включение опции auto_detect_line_endings может помочь решить проблему.

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


Функции для работы с файловой системой
PHP Manual