fgetc
fgets
Funkcje Systemu plików
PHP Manual

# fgetcsv

(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` [, 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. 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.

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

### 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ż:

- str_getcsv() - Parse a CSV string into an array
- explode() - Split a string by string
- file() - Czyta całą zawartość pliku do tablicy
- pack() - Pack data into binary string
- fputcsv() - Format line as CSV and write to file pointer

fgetc
fgets
Funkcje Systemu plików
PHP Manual