Funktionen fgetcsv

Funktionen fgetcsv læser en linje fra en fil og opdeler den i felter i CSV-format. Som første parameter tager funktionen en peger på en åben fil, som andet - den maksimale linjelængde, som tredje - feltseparatoren (standard er komma), som fjerde - indkapslingstegnet (standard er dobbelt anførselstegn), som femte - escape-tegnet.

Syntaks

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

Eksempel

Lad os læse en CSV-fil linje for linje og udskrive indholdet:

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

Resultatet af udførelsen af koden for en fil med indholdet "a,b,c":

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

Eksempel

Læsning af CSV med angivelse af maksimal linjelængde og brugerdefineret separator:

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

Resultatet af udførelsen af koden for en fil med indholdet "a;b;c":

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

Eksempel

Læsning af CSV med anførselstegn og escaping:

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

Resultatet af udførelsen af koden for en fil med indholdet '"a,b",c,"d\"e"':

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

Se også

  • funktionen fputcsv,
    som skriver data til CSV
  • funktionen fgets,
    som læser en linje fra en fil