php怎么判断txt内容为空

$content=file_get_contents($txt);
echo $content."<br>";
if(empty($content)){
    echo '0<br>';
}else{
    echo "1<br>";
}

为什么无论是否有内容都输出1?

阅读 7k
2 个回答

请检查文件是否存在空格回车或者制表符

检测一个文件是没有内容,使用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 '不是空文件';
    }
}

?>

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题