Prueba el final del archivo

# feof

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

feof — Prueba el final del archivo

### Descripción

function feof(resource `$stream`): bool

Prueba el final del archivo.

### Parámetros

`stream`
  El puntero de archivo debe ser válido y apuntar a un archivo abierto con éxito por fopen() o fsockopen() (y no cerrado aún por fclose()).

### Valores devueltos

Retorna `true` si el puntero `handle` está al final del archivo o si ocurre un error, de lo contrario, retorna `false`.

### Notas

Advertencia

Si una conexión abierta con fsockopen() no es cerrada por el servidor, feof() se bloqueará. Para evitar este comportamiento, consulte el ejemplo a continuación:

Ejemplo #1 Gestión de tiempos de espera excedidos feof()

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

     return feof($fp);
    }

    /* Supongamos que $fp fue previamente abierto por fsockopen() */

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

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

Advertencia

Si el puntero de archivo pasado no es válido, se obtendrá un bucle infinito ya que feof() fallará al retornar `true`.

Ejemplo #2 Ejemplo con feof() y un puntero de archivo inválido

    <?php
    // Si el archivo no puede ser leído o no existe, la función fopen retorna FALSE
    $file = @fopen("no_such_file", "r");

    // FALSE proveniente de fopen emitirá una advertencia y causará un bucle infinito aquí
    while (!feof($file)) {
    }

    fclose($file);
    ?>

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open