Funkce fgetcsv

Funkce fgetcsv čte řádek ze souboru a analyzuje jej na pole ve formátu CSV. Prvním parametrem funkce přijímá ukazatel na otevřený soubor, druhým - maximální délku řádku, třetím - oddělovač polí (ve výchozím nastavení čárka), čtvrtým - symbol ohraničovače (ve výchozím nastavení dvojité uvozovky), pátým - symbol escapování.

Syntaxe

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

Příklad

Přečtěme CSV soubor řádek po řádku a vypišme obsah:

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

Výsledek provedení kódu pro soubor s obsahem "a,b,c":

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

Příklad

Čtení CSV s uvedením maximální délky řádku a vlastního oddělovače:

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

Výsledek provedení kódu pro soubor s obsahem "a;b;c":

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

Příklad

Čtení CSV s uvozovkami a escapováním:

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

Výsledek provedení kódu pro soubor s obsahem '"a,b",c,"d\"e"':

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

Viz také

  • funkci fputcsv,
    která zapisuje data do CSV
  • funkci fgets,
    která čte řádek ze souboru