Funktionen fgetcsv

Funktionen fgetcsv läser en rad från en fil och tolkar den som fält i CSV-format. Den första parametern tar en pekare till en öppen fil, den andra - maximal radlängd, den tredje - fältavgränsare (standard är komma), den fjärde - inneslutningstecken (standard är dubbelfnutt), den femte - escape-tecken.

Syntax

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

Exempel

Låt oss läsa en CSV-fil rad för rad och visa innehållet:

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

Resultat av kodkörning för en fil med innehållet "a,b,c":

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

Exempel

Läsa CSV med angivande av maximal radlängd och anpassad avgränsare:

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

Resultat av kodkörning för en fil med innehållet "a;b;c":

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

Exempel

Läsa CSV med citationstecken och escaping:

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

Resultat av kodkörning för en fil med innehållet '"a,b",c,"d\"e"':

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

Se även

  • funktionen fputcsv,
    som skriver data till CSV
  • funktionen fgets,
    som läser en rad från en fil