(PHP 4, PHP 5)
fgetcsv — Pobiera linię ze wskanika pliku i przetwarza na pola CSV
$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.
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.
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.
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ł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($uchwyt, 1000, ",")) !== 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);
}
?>
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ę.