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. DomyÅ›lnie przecinek.
- $ogranicznik
-
Ustawia znak ograniczajÄ…cy pole. DomyÅ›lnie jest to cudzysÅ‚ów. Dodano w PHP 4.3.0.
- $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 FALSE w przypadku błędu, włączając w to koniec pliku.
Kompatybilność: PHP4, PHP5.
Listing
$row = 1;
$uchwyt = fopen ("test.csv","r");
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);
?>
Ranga: Administrator serwisu Punktów: 38473

