feof

(PHP 4, PHP 5, PHP 7)

feofComprueba si el puntero a un archivo está al final del archivo

Descripción

feof ( resource $handle ) : bool

Comprueba si el puntero a un archivo está al final del archivo.

Parámetros

handle

El fichero al que se apunta debe ser válido, y debe apuntar a un fichero abierto por fopen() o fsockopen() (y que todavía no esté cerrado por fclose()).

Valores devueltos

Devuelve TRUE si el puntero al archivo está en EOF o produce un error (incluido el tiempo de espera del socket); de otro modo devuelve FALSE.

Notas

Advertencia

Si una conexión abierta por fsockopen() no se cerró por el servidor, feof() se colgará. Para solucionar esto, vea el ejemplo siguiente:

Ejemplo #1 Manejar tiempos de espera con feof()

<?php
function feof_segura($fp, &$inicio NULL) {
 
$inicio microtime(true);

 return 
feof($fp);
}

/* Asumir que $fp está previamente abierto por fsockopen() */

$inicio NULL;
$timeout ini_get('default_socket_timeout');

while(!
feof_segura($fp$inicio) && (microtime(true) - $inicio) < $timeout)
{
 
/* Gestor */
}
?>

Advertencia

Si el puntero al archivo pasado a la función no es válido, se podría dar un bucle infinito, ya que feof() falla para devolver TRUE.

Ejemplo #2 Ejemplo de feof() con un puntero a un archivo no válido

<?php
// si el archivo no se puede leer o no existe, la función fopen devuelve FALSE
$archivo = @fopen("ningún_archivo""r");

// FALSE desde fopen emitirá una advertencia y resultará en un bucle infinito aquí
while (!feof($archivo)) {
}

fclose($archivo);
?>