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


(PHP 4, PHP 5)

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

Описание

bool feof ( resource $handle )

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

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

handle

Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями 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);
?>