Функции за работа с файловата система
PHP Manual

fgetcsv

(PHP 4, PHP 5)

fgetcsvВзима ред от файл от текущата позиция, указана от указателя на файла, и го анализира за CVS полета

Описание

array fgetcsv ( resource $handle [, int $length [, string $delimiter [, string $enclosure [, string $escape ]]]] )

Функцията е подобна на fgets() с изключение на това, че fgetcsv() прави разбор на реда, който прочита за полета в CSV формат и връща масив, който ги съдържа.

Параметри

handle

Валиден файлов манипулатор, който е бил успешно отворен с fopen (), popen(), or fsockopen().

length

Дължина.Трябва да бъде по-голяма от най-дългия ред (измерено в брой символи), съдържащ се в CVS файла (да се взимат под внимание и символите за край на ред). Параметърът стана опционален в PHP 5. При пропускането на този параметър (или установяването му в 0 при PHP 5.0.4 или по-големи), максималната дължина на реда не се ограничава, което забававя малко изпълнението.

delimiter

Задава разделител между полетата (трябва да е един символ само). По подразбиране е запетая.

enclosure

Задава заграждащ символ (трябва да е един символ само). По подразбиране е двойна кавичка. Параметърът е добавен в PHP 4.3.0.

escape

Задава освобождаващ символ. По подразбиране е обратна наклонена черта (\).

Връщани стойности

Връща масив, съдържащ изчетените полета.

Забележка: Празен ред в CVS файла ще бъде върнат като масив съдържащ null (и съответно ред няма да бъде считано за грешка при парсването).

Забележка: В случай че PHP не разпознава правилно краищата на редовете при четене или писане на файлове в Macintosh (или файлове създадени на Macintosh), включването на конфигурационната директива по време на изпълнение auto_detect_line_endings може да помогне за разрешаване на проблема.

fgetcsv() При грешка връша FALSE включително и когато достигне края на файла.

Дневник на промените

Версия Описание
5.3.0 Добавен е параметърът escape .
4.3.5 fgetcsv() е двоично безопасна.
4.3.0 Добавен е параметърът enclosure .

Примери

Example #1 Изчита и показва съдържанието на CSV файл

<?php
$row 
1;
$handle fopen("test.csv""r");
while ((
$data fgetcsv($handle1000",")) !== FALSE) {
    
$num count($data);
    echo 
"<p> $num fields in line $row: <br /></p>\n";
    
$row++;
    for (
$c=0$c $num$c++) {
        echo 
$data[$c] . "<br />\n";
    }
}
fclose($handle);
?>

Бележки

Забележка: Тази функция взема предвид настройките на локала. Ако LANG е например en_US.UTF-8, файловете с еднобайтово кодиране на знаците ще бъдат прочетени неправилно.

Вж. също


Функции за работа с файловата система
PHP Manual