Podręcznik PHP
Poprzedni |  | Następny

# fgets

(PHP 3, PHP 4, PHP 5)

fgets -- Pobiera linię ze wskaźnika pliku

## Opis

string fgets ( resource uchwyt [, int długość] )

Zwraca łańcuch o długość - 1 bajtów odczytany z pliku wskazanego przez uchwyt. Czytanie kończy się kiedy przeczytano długość - 1 bajtów lub gdy wystąpi znak nowej linii (jest on dołączany do zwracanego wyniku) lub gdy wystąpi znak końca pliku EOF (którykolwiek przypadek zdarzy się pierwszy). Jeśli nie została określona długość, domyślnie przyjmuje 1k (1024 bajty).

W przypadku błędu, zwraca `FALSE`.

Główna pułapka:

Osoby przyzwyczajone do semantyki 'C' powinni zauważyć różnicę w sposobie zwracania EOF przez fgets().

Wskaźnik na plik musi być poprawny i musi wskazywać na plik pomyślnie otwarty przez funkcję fopen() lub fsockopen().

Prosty przykład:

Przykład 1. Czytanie pliku linia po linii
`<?php $uchwyt = fopen ("/tmp/inputfile.txt", "r"); while (!feof ($uchwyt)) { $buffer = fgets($uchwyt, 4096); echo $buffer; } fclose ($uchwyt); ?>`

> Notatka: Parametr długość stał się opcjonalny w PHP 4.2.0 jeśli został pominięty, to powinien przyjąć wartość 1024. W PHP 4.3, pominięcie długość powoduje odczytywanie ze strumienia do chwili osiągnięcia końca lini, Jeśli większość lini w pliku jest dłuższa od 8KB, dużo efektywniejsze jest podanie maksymalnej długości linii.

> Notatka: Funkcja jest binaarnie bezpieczna od PHP 4.3. Poprzednie wersje nie są binarnie bezpieczne.

> 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: fread(), fgetc(), stream_get_line(), fopen(), popen(), fsockopen() i socket_set_timeout().

Poprzedni | Spis treści | Następny
fgetcsv | Początek rozdziału | fgetss