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);