Funkcje Systemu plików
PHP Manual

fgetcsv

(PHP 4, PHP 5)

fgetcsvPobiera linię ze wskanika pliku i przetwarza na pola CSV

Opis

array fgetcsv ( resource $uchwyt [, int $długość = 0 [, string $delimiter = ',' [, string $ogranicznik = '"' [, string $ucieczka = '\\' ]]]] )

Działa podobnie do fgets() tylko, że fgetcsv() przetwarza odczytaną linię na pola w formacie CSV i zwraca tablicę zawierającą odczytane pola.

Parametry

uchwyt

Ważny uchwyt pliku, poprawnie otwartego za pomocą fopen(), popen() lub fsockopen().

długość

Musi być większy niż najdłuższa linia (w znakach), która znajduje się w pliku CSV (wliczając znaki końca lini). Stał się opcjonalny w PHP 5. Opuszczenie tego parametru (lub ustawienie go na 0 w PHP 5.0.4 lub późniejszym) spowoduje, że maksymalna długość lini nie jest limitowana, co jest nieznacznie wolniejsze.

delimiter

Ustawia delimeter (tylko jeden znak) pól.

ogranicznik

Ustawia znak ograniczający pole.

ucieczka

Ustawia znak ucieczki (tylko jeden znak). Domyślnie jest to odwrotny ukośnik.

Zwracane wartości

Zwraca indeksowaną tablicę zawierającą odczytane pola.

Informacja:

Pusta linia w pliku CSV zostanie zwrócona jako tablica składająca się z pojedynczego pola null i nie zostanie potraktowana jako błąd.

Informacja: Jeśli PHP niewłaściwie rozpoznaje znaki końca linii podczas odczytu plików stworzonych lub znajdujących się na komputerach Macintosh, problem może rozwiązać włączenie dyrektywy konfiguracyjnej auto_detect_line_endings .

fgetcsv() zwraca NULL jeśli dostarczono niewłaściwy uchwyt lub FALSE w przypadku innego błędu, włączając w to koniec pliku.

Rejestr zmian

Wersja Opis
5.3.0 Dodano parametr ucieczka
4.3.5 fgetcsv() stał się bezpiecznym dla danych binarnych
4.3.0 Dodano parametr ogranicznik

Przykłady

Przykład #1 fgetcsv() przykład - Odczyt i wyświetlenie całej zawartości pliku CSV

<?php
$row 
1;
if ((
$uchwyt fopen ("test.csv","r")) !== FALSE) {
while ((
$data fgetcsv($uchwyt1000",")) !== FALSE)  {
    
$num count($data);
    echo 
"<p> $num pól w lini $row: <br /></p>\n";
    
$row++;
    for (
$c=0$c $num$c++) {
    echo 
$data[$c] . "<br />\n";
    }
}
fclose ($uchwyt);
}
?>

Notatki

Informacja:

Ustawienia lokale są brane pod uwagę przez tę funkcję. Jeśli LANG jest ustawione na np. en_US.UTF-8, pliki z jedno bajtowym kodowaniem zostaną nieprawidłowo odczytane przez funkcję.

Zobacz też:


Funkcje Systemu plików
PHP Manual