如何检测流资源不再有效?我有一个脚本,它显然会杀死、残害或威胁一些fsockek_open()连接资源,因此它经常在没有任何警告的情况下消失。下面是我的脚本中的var_dumps。
resource(6) of type (stream)
resource(6) of type (stream)
resource(6) of type (stream)
resource(6) of type (Unknown) <-- causes feof() error on next check because it's not valid像if($resource)这样的基本检查会返回TRUE,这会导致像这样的检查出现问题。
if($resource AND !feof($resource))资源上的第一个布尔检查可以工作,但feof失败会导致错误,因为当测试条件的后半部分时,流现在是未知的。
PHP Warning: feof(): 6 is not a valid stream resource这使得这样的例子行不通。
while ($resource AND ! feof($resource)) <-- fails with error
{
$buffer .= fread($resource);
}
fclose($resource);发布于 2012-10-03 11:39:55
我以为我已经尝试过了,但是一个简单的资源检查似乎就能在它的轨迹中发现问题所在。
if(is_resource($this->socket) AND !feof($this->socket))
{
// goodness
}https://stackoverflow.com/questions/12701446
复制相似问题