PHP fgets – czytanie zawartości pliku
Istnieje kilka sposobów na odczytanie zawartości pliku. Zanim skorzystamy z któregokolwiek z nich musimy określić uchwyt do pliku w trybie do oczytu. Listę dostępnych trybów znajdziecie na poprzedniej lekcji.
Fread
Funkcja fread($uchwyt, $długość) czyta z pliku określoną długość znaków. Czytanie zakończy się, jeżeli osiągnięta zostanie $dlugość znaków, koniec pliku lub odczytanych zostanie 8192 bajtów. Poniżej przykład użycia:
<?php // utworzenie uchwytu do pliku $plik = fopen('index.html','r'); // przypisanie zawartości do zmiennej $zawartosc = fread($plik, 8192); echo $zawartosc; ?>
Fgets
Innym sposobem na czytanie zawartości jest funkcja fgets($uchwyt). Czyta ona jedną linię pliku, dopóki nie napotka znacznika przejścia do kolejnej linii. Żeby odczytać cały plik, wystarczy użyć pętli. W przypadku tej metody nie musimy się martwić, czy cały plik zostanie odczytany, czy przypadkiem nie przekroczyliśmy długości znaków. Funkcja feof() zwraca true, jeśli osiągnęliśmy koniec pliku.
Przykład czytania pliku z użyciem fgets:
<?php // utworzenie uchwytu do pliku $plik = fopen('index.html','r'); $zawartosc = ''; // przypisanie zawartości do zmiennej while(!feof($plik)) { $linia = fgets($plik); $zawartosc .= $linia; } echo $zawartosc; ?>
Fgetc
Fgetc($plik) jest bardzo podobna w użyciu do fgets, z tą jednak różnicą, że czytamy po jednym znaku. Przykład niemal identyczny:
<?php // utworzenie uchwytu do pliku $plik = fopen('index.html','r'); $zawartosc = ''; // przypisanie zawartości do zmiennej while(!feof($plik)) { $linia = fgetc($plik); $zawartosc .= $linia; } echo $zawartosc; ?>
Tym sposobem potrafisz już odczytywać zawartość plików. Teraz przyszła pora na nauczenie się zapisywania plików. Zapraszam na kolejną lekcję!
Spis lekcji w rozdziale piątym
Poprzednia lekcja: Tryby otwarcia pliku | Następna lekcja: Zapisywanie zawartości do pliku |