feof

(PHP 4, PHP 5, PHP 7)

feofПроверяет, достигнут ли конец файла

Описание

feof ( resource $stream ) : bool

Проверяет, достигнут ли конец файла.

Список параметров

stream

Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen() (и все еще не закрытый функцией fclose()).

Возвращаемые значения

Возвращает true, если указатель файла указывает на EOF или произошла ошибка (в том числе тайм-аут сокета), иначе возвращает false.

Примечания

Внимание

Если подключение, открытое при помощи fsockopen(), не было закрыто сервером, feof() повиснет. Для варианта обхода этого поведения смотрите следующий пример:

Пример #1 Обработка тайм-аутов с функцией feof()

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

 return 
feof($fp);
}

/* Предположим, что $fp был ранее открыт с помощью fsockopen() */

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

while(!
safe_feof($fp$start) && (microtime(true) - $start) < $timeout)
{
 
/* Обработка */
}
?>

Внимание

Если передан неверный файловый указатель, то вы можете получить бесконечный цикл, так как feof() не сможет вернуть true.

Пример #2 Пример feof() с неверным файловым указателем

<?php
// если файл не может быть прочтен или не существует, fopen вернет FALSE
$file = @fopen("no_such_file""r");

// FALSE от fopen вызовет предупреждение и следующий цикл станет бесконечным
while (!feof($file)) {
}

fclose($file);
?>