Podręcznik PHP
Poprzedni |  | Następny

# fgets

(PHP 3, PHP 4 )

fgets -- Pobiera linię ze wskaźnika pliku

## Opis

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

Zwraca łańcuch o długości - 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 pliku musi być poprawny i musi wskazywać na plik poprawnie otwarty przez fopen(), popen() 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