feof

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

feofPrueba el final del archivo

Descripción

feof(resource $stream): bool

Prueba el final del archivo.

Parámetros

stream

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

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);
?>