# feof

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

feof — Comprueba 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);
?>`