$content=file_get_contents($txt);
echo $content."<br>";
if(empty($content)){
echo '0<br>';
}else{
echo "1<br>";
}
为什么无论是否有内容都输出1?
2 回答
![?](http://img1.sycdn.imooc.com/54584d080001566902200220-100-100.jpg)
潇潇雨雨
TA贡献1833条经验 获得超4个赞
检测一个文件是没有内容,使用filesize()函数就可以了。
<?php
if(filesize($txt) === 0){
echo '这是一个空文件';
}
?>
如果非要像你那样写,你的判断逻辑是错的,也不严谨,正确的做法是判断读取出来的字符串的字节数,或者和空字符串''比较,而不能用empty()来检测,因为,举个例子,如果文件内容是一个数字0,empty()也会返回true.
<?php
$content = @file_get_contents($txt);
if($content === false){
echo '无法读取文件内容';
}else{
if(strlen($content) === 0){
echo '文件没有内容';
}else{
echo '不是空文件';
}
}
?>
- 2 回答
- 0 关注
- 1031 浏览
添加回答
举报
0/150
提交
取消