首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

feof

(PHP 4, PHP 5, PHP 7)

feof - 在文件指针上测试文件结束

描述

代码语言:javascript
复制
bool feof ( resource $handle )

测试文件指针上的文件结尾。

参数

handle

文件指针必须是有效的,并且必须指向由fopen()或fsockopen()(并且尚未由fclose()关闭)成功打开的文件。

返回值

如果文件指针位于EOF或发生错误(包括套接字超时),则返回TRUE; 否则返回FALSE。

注意

警告

如果由fsockopen()打开的连接未被服务器关闭,则feof()将挂起。要解决此问题,请参阅下面的示例:

示例#1使用feof()处理超时

代码语言:javascript
复制
<?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?*/
}
?>

警告

如果传递的文件指针无效,则可能会出现无限循环,因为feof()无法返回TRUE

示例#2 feof()示例具有无效的文件指针

代码语言:javascript
复制
<?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);
?>

← fclose

fflush →

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com