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 |
