file_get_contents,空文件不能正常运行PHP

时间:2013-07-12 12:32:04

标签: php file file-get-contents fgets

我尝试使用PHP格式的file_get_contents,但它不起作用。

有我的代码:

$filename = "/opt/gemel/test.txt";


if($filecontent = file_get_contents($filename)){

    $nom = fgets(STDIN);

    file_put_contents($filename, $nom, FILE_APPEND);
}
else
    echo "fail";

我的文件 test.txt 为空。 (0个八位字节)。他存在,但他是空的。

当我写入内容时,我的代码完美无缺,但如果他是空的,我的代码回显“失败”

为什么这样,为什么他无法打开文件 text.txt

1 个答案:

答案 0 :(得分:15)

函数file_get_contents返回文件中的字符串。如果文件不包含任何数据,则file_get_contents返回空字符串。如果您尝试var_dump('' == false);,您将获得true。因此,即使可以读取文件,文件的内容也会计算为false

如果你要使用这一行,你的代码应该可以工作:

if($filecontent = file_get_contents($filename) !== false){

编辑;链接到Comparison operators

的文档