Функция fgetcsv

Функцията fgetcsv чете ред от файл и го разделя на полета във формат CSV. Първият параметър функцията приема указател към отворен файл, вторият - максимална дължина на реда, третият - разделител на полета (по подразбиране запетая), четвъртият - символ за ограничител (по подразбиране двойни кавички), петият - символ за екраниране.

Синтаксис

phpfgetcsv(
  resource $handle,
  int $length = 0,
  string $separator = ",",
  string $enclosure = "\"",
  string $escape = "\"
);

Пример

Нека прочетем CSV файл ред по ред и изведем съдържанието:

php<?php
  $file = fopen('data.csv', 'r');
  while (($row = fgetcsv($file)) !== false) {
    print_r($row);
  }
  fclose($file);
?>

Резултат от изпълнението на кода за файл със съдържание "a,b,c":

php['a', 'b', 'c']

Пример

Четене на CSV с указание на максимална дължина на реда и персонализиран разделител:

php<?php
  $file = fopen('data.csv', 'r');
  while (($row = fgetcsv($file, 1000, ';')) !== false) {
    print_r($row);
  }
  fclose($file);
?>

Резултат от изпълнението на кода за файл със съдържание "a;b;c":

php['a', 'b', 'c']

Пример

Четене на CSV с кавички и екраниране:

php<?php
  $file = fopen('data.csv', 'r');
  while (($row = fgetcsv($file, 0, ',', '"', '\')) !== false) {
    print_r($row);
  }
  fclose($file);
?>

Резултат от изпълнението на кода за файл със съдържание '"a,b",c,"d\"e"':

php['a,b', 'c', 'd"e']

Вижте също

  • функцията fputcsv,
    която записва данни във CSV
  • функцията fgets,
    която чете ред от файл