# feof

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

feof — Teste 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 `handle` est à la fin du fichier ou si une erreur survient, 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, reportez-vous à 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, vous obtiendrez 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 quel'on aura une boucle infinie ici
while (!feof($file)) {
}
fclose($file);
?>`