feof
funkcja
Sprawdza, czy wskaźnik zasobu dotarł do końca pliku (EOF). Zwraca true po wyczerpaniu danych.
feof(resource $stream): bool
feof zwraca true, gdy ostatnia operacja odczytu natrafiła na koniec strumienia. Klasycznie używasz jej jako warunku pętli czytającej plik linia po linii za pomocą fgets.
Ważna subtelność: feof staje się true dopiero po próbie odczytu, która nic nie zwróciła — nie przed nią. Dlatego sprawdzaj wynik fgets / fread zamiast samego feof, żeby uniknąć przetworzenia pustego stringa.
<?php
declare(strict_types=1);
$sciezka = sys_get_temp_dir() . '/linie.txt';
file_put_contents($sciezka, "pierwsza\ndruga\ntrzecia\n");
$uchwyt = fopen($sciezka, 'r');
if ($uchwyt === false) {
throw new \RuntimeException('Nie można otworzyć pliku.');
}
while (!feof($uchwyt)) {
$linia = fgets($uchwyt);
if ($linia !== false) {
echo trim($linia) . PHP_EOL;
}
}
fclose($uchwyt);
unlink($sciezka);