(PHP 4, PHP 5)
fgets — Pobiera linię ze wskaźnika pliku
$uchwyt
[, int $długość
] )Pobiera linię ze wskaźnika pliku.
uchwyt
Wskaźnik na plik musi być poprawny i musi wskazywać na plik pomyślnie otwarty przez funkcję fopen() lub fsockopen() (a jednocześnie nie zamknięty jeszcze przez fclose()).
długość
Kończy czytanie gdy przeczytano długość
- 1 bajtów,
na znaku nowej linii (który jest dołączony do zwracanej wartości), lub na końcu pliku (EOF)
(cokolwiek wystąpi wcześniej). Jeśli, nie określono długości, czytanie
ze strumienia będzie kontynuowane do czasu osiągnięcia końca linii.
Informacja:
Do wersji PHP 4.3.0, pominięcie powodowało ustawienie długości na 1024. Jeśli większość linii w pliku jest dłuższa od 8KB, dużo efektywniejsze jest podanie maksymalnej długości linii.
Zwraca łańcuch znaków o długości
- 1 bajtów odczytanych ze
wskaźnika pliku wskazanego przez uchwyt
. Jeśli nie ma więcej danych
do przeczytania ze wskaźnika pliku to zwraca FALSE
W przypadku błędu zwraca FALSE
.
Wersja | Opis |
---|---|
4.3.0 | fgets() stał się bezpieczny dla danych binarnych |
4.2.0 |
Parametr długość stał się opcjonalny.
|
Przykład #1 Oczyt pliku linia po linii
<?php
$uchwyt = @fopen("/tmp/plik_wejsciowy.txt", "r");
if ($uchwyt) {
while (($bufor = fgets($uchwyt, 4096)) !== false) {
echo $bufor;
}
if (!feof($uchwyt)) {
echo "Błąd: niespodziewany błąd fgets()\n";
}
fclose($uchwyt);
}
?>
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 .
Informacja:
Osoby przyzwyczajone do semantyki 'C' powinny zauważyć różnicę w sposobie zwracania EOF przez fgets().