feof

(PHP 4, PHP 5, PHP 7)

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

Beschreibung

feof ( resource $handle ) : bool

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

Parameter-Liste

handle

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, wird feof() hängen. Um dies zu umgehen, beachten sie folgendes Beispiel:

Beispiel #1 Zeitüberschreitungen mit feof() abhandeln

<?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)
{
 
/* Abhandeln */
}
?>

Warnung

Wenn der übergebene Dateizeiger nicht gültig ist, können sie eine Endlosschleife erhalten, denn feof() gibt nicht TRUE zurück.

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

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

// FALSE von fopen wird eine Warnung  auslösen und hier in einer
// Endlosschleife resultieren
while (!feof($file)) {
}

fclose($file);
?>