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
展开
 我来答
东风星子
推荐于2016-07-05 · TA获得超过211个赞
知道小有建树答主
回答量:216
采纳率:66%
帮助的人:115万
展开全部
应该是!feof($contents=fread($handler,10)),这里返回的是字符串,不能用false去判断
更多追问追答
追问
手册上说失败时返回false,没数据读不算失败吗
追答
while (!feof($handler)) {  //This looped forever
$contents= fread($handler, 1024);
}
手册上是对的,但是我怀疑可以是在无法读取时才返回false,读取到末尾返回的是空或者“”或者NULL,你在循环里面var_dump($contents)试一下,或者像我上面那样,是官网里面的写一样,换种方法
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式