Funkcija fgetcsv

Funkcija fgetcsv nolasa rindu no faila un parsē to laukos CSV formātā. Pirmo parametru funkcija pieņem kā rādītāju uz atvērto failu, otro - maksimālo rindas garumu, trešo - lauku atdalītāju (pēc noklusējuma komatu), ceturto - ierobežotāja simbolu (pēc noklusējuma dubultās pēdiņas), piekto - ekrānēšanas simbolu.

Sintakse

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

Piemērs

Izlasīsim CSV failu pa rindām un izvadīsim saturu:

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

Koda izpildes rezultāts failam ar saturu "a,b,c":

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

Piemērs

CSV lasīšana ar maksimālā rindas garuma norādi un pielāgotu atdalītāju:

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

Koda izpildes rezultāts failam ar saturu "a;b;c":

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

Piemērs

CSV lasīšana ar pēdiņām un ekrānēšanu:

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

Koda izpildes rezultāts failam ar saturu '"a,b",c,"d\"e"':

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

Skatiet arī

  • funkciju fputcsv,
    kas ieraksta datus CSV formātā
  • funkciju fgets,
    kas nolasa rindu no faila