Funkcija fgetcsv

Funkcija fgetcsv bere vrstico iz datoteke in jo razdeli na polja v formatu CSV. Prvi parameter funkcije je kazalec na odprto datoteko, drugi - največja dolžina vrstice, tretji - ločilo polj (privzeto vejica), četrti - simbol omejevalnika (privzeto dvojni narekovaji), peti - simbol za escaping.

Sintaksa

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

Primer

Preberimo CSV datoteko vrstico za vrstico in izpišimo vsebino:

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

Rezultat izvajanja kode za datoteko z vsebino "a,b,c":

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

Primer

Branje CSV z določitvijo največje dolžine vrstice in posebnega ločila:

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

Rezultat izvajanja kode za datoteko z vsebino "a;b;c":

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

Primer

Branje CSV z narekovaji in escapingom:

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

Rezultat izvajanja kode za datoteko z vsebino '"a,b",c,"d\"e"':

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

Glejte tudi

  • funkcijo fputcsv,
    ki zapisuje podatke v CSV
  • funkcijo fgets,
    ki bere vrstico iz datoteke