Учебник РНР
Назад Вперёд

fgetcsv

(PHP 3>= 3.0.8, PHP 4)

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

Описание

array fgetcsv (int fp, int length [, string delimiter [, string enclosure]])

Работает, как и fgets(), но fgetcsv() разбирает строку на поля в формате CSV и возвращает массив, содержащий прочитанные поля. Разделителем полей является запятая, если вы не специфицировали другой разделитель в необязательном третьем параметре. Символ-ограничитель enclosure это двойная кавычка, если иной не специфицирован. Delimiter и enclosure не могут быть null, и при их спецификации используется только первый значащий символ.

Fp обязан быть правильным указателем на файл, успешно открытый функциями fopen(), popen() или fsockopen().

Length обязан быть больше самой длинной строки, найденной в CSV-файле (что даёт возможность вставить ведомые символы конца строки).

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

Примечание: пустая строка в CSV-файле возвратится как массив из единственного NULL-поля и не будет считаться ошибкой.

enclosure введён в PHP 4.3.0.

Пример 1. fgetcsv() - Чтение и печать всего содержимого CSV-файла
$row = 1;
$fp = fopen ("test.csv","r");
while ($data = fgetcsv ($fp, 1000, ",")) {
    $num = count ($data);
    print "<p> $num fields in line $row: <br>";
    $row++;
    for ($c=0; $c < $num; $c++) {
        print $data[$c] . "<br>";
    }
}
fclose ($fp);

Назад Оглавление Вперёд
fgetc Вверхfgets