# feof

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

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

### Beschreibung

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