Functie fgetcsv

De functie fgetcsv leest een regel uit een bestand en parseert deze in velden in CSV-formaat. De eerste parameter van de functie accepteert een pointer naar een open bestand, de tweede - de maximale regel lengte, de derde - het scheidingsteken voor velden (standaard komma), de vierde - het symbool voor de begrenzer (standaard dubbele aanhalingstekens), de vijfde - het escape symbool.

Syntaxis

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

Voorbeeld

Laten we een CSV-bestand regel voor regel lezen en de inhoud uitvoeren:

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

Resultaat van de code-uitvoering voor een bestand met de inhoud "a,b,c":

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

Voorbeeld

CSV lezen met opgave van maximale regel lengte en een aangepast scheidingsteken:

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

Resultaat van de code-uitvoering voor een bestand met de inhoud "a;b;c":

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

Voorbeeld

CSV lezen met aanhalingstekens en escaping:

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

Resultaat van de code-uitvoering voor een bestand met de inhoud '"a,b",c,"d\"e"':

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

Zie ook

  • de functie fputcsv,
    die gegevens naar CSV schrijft
  • de functie fgets,
    die een regel uit een bestand leest