Функцыя fgetcsv

Функцыя fgetcsv чытае радок з файла і разбірае яе на палі ў фармаце CSV. Першым параметрам функцыя прымае паказальнік на адкрыты файл, другім - максімальную даўжыню радка, трэцім - падзяляльнік палёў (па змаўчанні коска), чацвёртым - сімвал абмежавальніка (па змаўчанні двайныя двукоссі), пятым - сімвал экранавання.

Сінтаксіс

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

Прыклад

Прачытаем CSV файл парадкова і вывядзем змест:

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

Вынік выканання кода для файла з зместам "a,b,c":

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

Прыклад

Чытанне CSV з указаннем максімальнай даўжыні радка і кастомнага падзяляльніка:

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

Вынік выканання кода для файла з зместам "a;b;c":

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

Прыклад

Чытанне CSV з двукоссямі і экранаваннем:

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

Вынік выканання кода для файла з зместам '"a,b",c,"d\"e"':

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

Глядзіце таксама

  • функцыю fputcsv,
    якая запісвае дадзеныя ў CSV
  • функцыю fgets,
    якая чытае радок з файла