Prüft, ob ein Dateizeiger am Ende der Datei steht

# feof

(PHP 4, PHP 5, PHP 7, PHP 8)

feof — Prüft, ob ein Dateizeiger am Ende der Datei steht

### Beschreibung

function feof(resource `$stream`): bool

Prüft, ob ein Dateizeiger am Ende der Datei steht.

### Parameter-Liste

`stream`

  Der Zeiger auf eine Datei muss gültig sein und auf eine Datei verweisen, die vorher erfolgreich mit fopen() oder fsockopen() geöffnet (und nicht bereits von fclose() geschlossen) wurde.

### Rückgabewerte

Gibt `true` zurück, wenn der Dateizeiger an EOF (Dateiende) steht oder ein Fehler auftritt (inklusive Socket-Zeitüberschreitung); ansonsten wird `false` zurückgegeben.

### Anmerkungen

Warnung

Wenn eine mit fsockopen() geöffnete Verbindung nicht durch den Server geschlossen wurde, bleibt feof() hängen. Um dies zu umgehen, siehe folgendes Beispiel:

Beispiel #1 Handhabung von Zeitüberschreitungen mit feof()

    <?php
    function safe_feof($fp, &$start = NULL) {
     $start = microtime(true);

     return feof($fp);
    }

    /* Annahme: $fp wurde zuvor mit fsockopen() geöffnet */

    $start = NULL;
    $timeout = ini_get('default_socket_timeout');

    while(!safe_feof($fp, $start) && (microtime(true) - $start) < $timeout)
    {
     /* Verarbeiten */
    }
    ?>

Warnung

Wenn der übergebene Dateizeiger nicht gültig ist, kann es zu einer Endlosschleife kommen, weil feof() nicht `true` zurückgibt.

Beispiel #2 feof()-Beispiel mit einem ungültigen Dateizeiger

    <?php
    // Wenn $file nicht gelesen werden kann oder nicht existiert, gibt fopen FALSE zurück
    $file = @fopen("no_such_file", "r");

    // Ein FALSE von fopen löst eine Warnung aus und führt hier zu einer Endlosschleife
    while (!feof($file)) {
    }

    fclose($file);
    ?>

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open