Funksjonen fgetcsv

Funksjonen fgetcsv leser en linje fra en fil og analyserer den i felt i CSV-format. Den første parameteren funksjonen aksepterer en peker til en åpen fil, den andre - maksimal linjelengde, den tredje - feltseparator (standard er komma), den fjerde - innhegningssymbol (standard er doble anførselstegn), den femte - escapesymbol.

Syntaks

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

Eksempel

La oss lese en CSV-fil linje for linje og skrive ut innholdet:

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

Resultat av kjøring av koden for en fil med innholdet "a,b,c":

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

Eksempel

Lesing av CSV med spesifisering av maksimal linjelengde og egendefinert separator:

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

Resultat av kjøring av koden for en fil med innholdet "a;b;c":

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

Eksempel

Lesing av CSV med anførselstegn og escaping:

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

Resultat av kjøring av koden for en fil med innholdet '"a,b",c,"d\"e"':

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

Se også

  • funksjonen fputcsv,
    som skriver data til CSV
  • funksjonen fgets,
    som leser en linje fra en fil