Funkcja fgetcsv

Funkcja fgetcsv odczytuje wiersz z pliku i analizuje go na pola w formacie CSV. Pierwszym parametrem funkcja przyjmuje wskaźnik do otwartego pliku, drugim - maksymalną długość wiersza, trzecim - separator pól (domyślnie przecinek), czwartym - znak ogranicznika (domyślnie podwójny cudzysłów), piątym - znak escape.

Składnia

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

Przykład

Odczytajmy plik CSV wiersz po wierszu i wyświetlmy zawartość:

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

Wynik wykonania kodu dla pliku z zawartością "a,b,c":

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

Przykład

Odczyt CSV z określeniem maksymalnej długości wiersza i niestandardowego separatora:

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

Wynik wykonania kodu dla pliku z zawartością "a;b;c":

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

Przykład

Odczyt CSV z cudzysłowami i escape'owaniem:

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

Wynik wykonania kodu dla pliku z zawartością '"a,b",c,"d\"e"':

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

Zobacz też

  • funkcję fputcsv,
    która zapisuje dane do CSV
  • funkcję fgets,
    która odczytuje wiersz z pliku