fgetcsv
(PHP 3>= 3.0.8, PHP 4 , PHP 5)
fgetcsv -- Читает строку из файла и производит разбор данных CSV
Описание
массив
fgetcsv ( ресурс дескриптор, целое длина [, строка разделитель [, строка ограничитель]])
Данная функция похожа на функцию fgets(), с той разницей, что она производит анализ строки на наличие записей в формате CSV и возвращает найденные поля в качестве массива. Третий необязательный параметр разделитель по умолчанию содержит запятую, а четвертый необязательный параметр ограничитель по умолчанию содержит двойную кавычку. Оба параметра разделитель и ограничитель могут содержать только по одному символу. Если в этих параметрах передается строка, состоящая более чем из одного символа, используется только первый символ.
Замечание: Параметр ограничитель был добавлен в PHP 4.3.0.
Параметр Дескриптор должен указывать на файл, открытый ранее с помощью функции fopen(), popen() или fsockopen().
Параметр длина должен иметь значение, большее чем длина саой большой строки, которая может быть встречена в CSV-файле (включая завершающие символы конца строки).
Функция fgetcsv() возвращает FALSE в случае ошибки, а также по достижению конца файла.
Замечание: Пустая строка CSV-файла будет возвращена в качестве массива, содержащего единственный элемент null, ошибки в данном случае не возникнет.
Пример 1. Чтение и вывод на экран содержания CSV-файла
<?php $row = 1; $handle = fopen ("test.csv","r"); while ($data = fgetcsv ($handle, 1000, ",")) { $num = count ($data); print "<p> $num полей в строке $row: <br>\n"; $row++; for ($c=0; $c < $num; $c++) { print $data[$c] . "<br>\n"; } } fclose ($handle); ?> | |
См.также описание функций explode(), file() и pack()