feof

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

feofTeste la fin du fichier

Description

feof(resource $stream): bool

Teste la fin du fichier.

Liste de paramètres

stream

Le pointeur de fichier doit être valide et pointer sur un fichier ouvert avec succès par fopen() ou fsockopen() (et pas encore fermé par fclose()).

Valeurs de retour

Retourne true si le pointeur stream est à la fin du fichier ou si une erreur survient (y compris les délais d'attente de socket), sinon, retourne false.

Notes

Avertissement

Si une connexion ouverte avec fsockopen() n'est pas fermée par le serveur, feof() se bloquera. Pour contourner ce comportement, se reporter à l'exemple ci-dessous :

Exemple #1 Gestion des délais d'attente dépassés feof()

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

return
feof($fp);
}

/* Assumons que $fp a été précédemment ouvert par fsockopen() */

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

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

Avertissement

Si le pointeur de fichier passé n'est pas valide, le résultat sera une boucle infinie car feof() échouera à retourner true.

Exemple #2 Exemple avec feof() et un pointeur de fichier invalide

<?php
// Si le fichier ne peut être lu ou n'existe pas, la fonction fopen retourne FALSE
$file = @fopen("no_such_file", "r");

// FALSE issu de fopen émettra une alerte et fera que l'on aura une boucle infinie ici
while (!feof($file)) {
}

fclose($file);
?>