Funcția fgetcsv

Funcția fgetcsv citește o linie dintr-un fișier și o analizează în câmpuri în format CSV. Primul parametru funcția primește un pointer către un fișier deschis, al doilea - lungimea maximă a liniei, al treilea - separatorul câmpurilor (implicit virgulă), al patrulea - simbolul delimitator (implicit ghilimele duble), al cincilea - simbolul de escapare.

Sintaxă

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

Exemplu

Să citim un fișier CSV linie cu linie și să afișăm conținutul:

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

Rezultatul executării codului pentru fișierul cu conținutul "a,b,c":

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

Exemplu

Citirea CSV cu specificarea lungimii maxime a liniei și a separatorului personalizat:

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

Rezultatul executării codului pentru fișierul cu conținutul "a;b;c":

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

Exemplu

Citirea CSV cu ghilimele și escapare:

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

Rezultatul executării codului pentru fișierul cu conținutul '"a,b",c,"d\"e"':

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

Vedeți și

  • funcția fputcsv,
    care scrie date în CSV
  • funcția fgets,
    care citește o linie dintr-un fișier