$content=file_get_contents($txt);
echo $content."<br>";
if(empty($content)){
echo '0<br>';
}else{
echo "1<br>";
}
为什么无论是否有内容都输出1?
$content=file_get_contents($txt);
echo $content."<br>";
if(empty($content)){
echo '0<br>';
}else{
echo "1<br>";
}
为什么无论是否有内容都输出1?
检测一个文件是没有内容,使用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 '不是空文件';
}
}
?>
1 回答4.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.3k 阅读✓ 已解决
2 回答788 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.3k 阅读
1 回答697 阅读✓ 已解决
请检查文件是否存在空格回车或者制表符