Podręcznik PHP
Poprzedni |  | Następny

# fgetcsv

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

fgetcsv -- Pobiera linię ze wskanika pliku i przetwarza na pola CSV

## Opis

array fgetcsv ( resource uchwyt [, int długość [, string delimiter [, string ogranicznik]]] )

`uchwyt`

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

`długość` (opcjonalny)

  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` (opcjonalny)

  Ustawia delimeter (tylko jeden znak) pól. Domyślnie przecinek.

`ogranicznik` (opcjonalny)

  Ustawia znak ograniczający pole. Domyślnie jest to cudzysłów. Dodano w PHP 4.3.0.

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

fgetcsv() zwraca `FALSE` gdy wystąpi błąd, włączając w to koniec pliku.

> Notatka: 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.

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

`<?php $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); ?>`

fgetcsv() jest bezpieczna binarnie od PHP 4.3.5

> Notatka: 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ę.

> Notatka: W przypadku problemów z rozpoznawaniem znaków końca linii przez `PHP` przy czytaniu plików stworzonych lub znajdujących się na komputerach Macintosh, może pomóc włączenie dyrektywy konfiguracji auto_detect_line_endings.

Patrz także: explode(), file(), pack() i fputcsv().

Poprzedni | Spis treści | Następny
fgetc | Początek rozdziału | fgets