Funzione fgetcsv

La funzione fgetcsv legge una riga da un file e la analizza in campi nel formato CSV. Il primo parametro della funzione accetta un puntatore a un file aperto, il secondo - la lunghezza massima della riga, il terzo - il separatore di campo (predefinito virgola), il quarto - il carattere di delimitazione (predefinito virgolette doppie), il quinto - il carattere di escape.

Sintassi

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

Esempio

Leggiamo un file CSV riga per riga e visualizziamo il contenuto:

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

Risultato dell'esecuzione del codice per un file con contenuto "a,b,c":

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

Esempio

Lettura CSV specificando la lunghezza massima della riga e un separatore personalizzato:

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

Risultato dell'esecuzione del codice per un file con contenuto "a;b;c":

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

Esempio

Lettura CSV con virgolette ed escape:

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

Risultato dell'esecuzione del codice per un file con contenuto '"a,b",c,"d\"e"':

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

Vedi anche

  • la funzione fputcsv,
    che scrive dati in CSV
  • la funzione fgets,
    che legge una riga da un file