feof

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

feofTests for end-of-file on a file pointer

Опис

feof(resource $stream): bool

Tests for end-of-file on a file pointer.

Параметри

stream

Вказівник на файл має бути дійсним та має вказувати на файл, успішно відкритий функцією fopen() або fsockopen() (та не закритий функцією fclose()).

Значення, що повертаються

Returns true if the file pointer is at EOF or an error occurs (including socket timeout); otherwise returns false.

Примітки

Увага

If a connection opened by fsockopen() wasn't closed by the server, feof() will hang. To workaround this, see below example:

Приклад #1 Handling timeouts with feof()

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

return
feof($fp);
}

/* Assuming $fp is previously opened by fsockopen() */

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

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

Увага

If the passed file pointer is not valid you may get an infinite loop, because feof() fails to return true.

Приклад #2 feof() example with an invalid file pointer

<?php
// if file can not be read or doesn't exist fopen function returns FALSE
$file = @fopen("no_such_file", "r");

// FALSE from fopen will issue warning and result in infinite loop here
while (!feof($file)) {
}

fclose($file);
?>