Funktion fgetcsv

Die Funktion fgetcsv liest eine Zeile aus einer Datei und zerlegt sie in Felder im CSV-Format. Der erste Parameter der Funktion ist ein Zeiger auf eine geöffnete Datei, der zweite - die maximale Zeilenlänge, der dritte - das Trennzeichen (standardmäßig Komma), der vierte - das Begrenzungszeichen (standardmäßig doppelte Anführungszeichen), der fünfte - das Escape-Zeichen.

Syntax

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

Beispiel

Lesen wir eine CSV-Datei zeilenweise und geben den Inhalt aus:

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

Ergebnis der Codeausführung für eine Datei mit dem Inhalt "a,b,c":

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

Beispiel

Lesen von CSV mit Angabe der maximalen Zeilenlänge und eines benutzerdefinierten Trennzeichens:

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

Ergebnis der Codeausführung für eine Datei mit dem Inhalt "a;b;c":

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

Beispiel

Lesen von CSV mit Anführungszeichen und Escaping:

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

Ergebnis der Codeausführung für eine Datei mit dem Inhalt '"a,b",c,"d\"e"':

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

Siehe auch

  • die Funktion fputcsv,
    die Daten in CSV schreibt
  • die Funktion fgets,
    die eine Zeile aus einer Datei liest