САМОУЧИТЕЛЬ PHP 4

       

Чтение CSV-файла


Программа Excel из Microsoft Office стала настолько популярна, что в PHP даже встроили функцию для работы с одним из форматов файлов, в которых может сохранять данные Excel. Часто она бывает довольно удобна и экономит пару строк дополнительного кода.

list fgetcsv(int $f, int $length, char $delim=’,’)

Функция читает одну строку из файла, заданного дескриптором $f, и разбивает ее по символу $delim. Параметр $delim должен обязательно быть строкой из одного символа, в противном случае принимается во внимание только первый символ этой строки. Функция возвращает получившийся список или false, если строки кончились. Параметр $length

задает максимальную длину строки точно так же, как это делается в fgets(). Пустые строки в файле не игнорируются, а возвращаются как список из одного элемента — пустой строки.

Функция fgetcsv() работает чуть быстрее пары fgets()/explode(), но зато она, как мы можем видеть, гораздо менее универсальна. Применяйте ее в таком контексте:

$f=fopen("file.csv","r") or die("Ошибка!");

for($i=0; $data=fgetcsv($f, 1000, ";"); $i++) {

  $num = count($data);

  if($num==1 && $data[0]==="") continue;

  echo "<h3>Строка номер $i ($num полей):</h3>";

  for($c=0; $c<$num; $c++)

    print "[$c]: $data[$c]<br>";

}

fclose($f);



Содержание раздела