Функция PHP fgetcsv

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

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

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

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

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

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

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

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

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

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