php fread()函数读取文本直到文件尾却无法结束
<?php$handler=fopen('test.txt','rb');$t='';while(($contents=fread($handler,10))!==fal...
<?php
$handler=fopen('test.txt','rb');
$t='';
while(($contents=fread($handler,10))!==false){
$t.=$contents;
}
echo $t;
fclose($handler);
在循环里一直出不来,为什么文件都读完了,还不返回false 展开
$handler=fopen('test.txt','rb');
$t='';
while(($contents=fread($handler,10))!==false){
$t.=$contents;
}
echo $t;
fclose($handler);
在循环里一直出不来,为什么文件都读完了,还不返回false 展开
1个回答
展开全部
应该是!feof($contents=fread($handler,10)),这里返回的是字符串,不能用false去判断
更多追问追答
追问
手册上说失败时返回false,没数据读不算失败吗
追答
while (!feof($handler)) { //This looped forever
$contents= fread($handler, 1024);
}
手册上是对的,但是我怀疑可以是在无法读取时才返回false,读取到末尾返回的是空或者“”或者NULL,你在循环里面var_dump($contents)试一下,或者像我上面那样,是官网里面的写一样,换种方法
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询