5

我尝试使用 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

4

1 回答 1

16

该函数file_get_contents返回文件中的字符串。如果文件不包含数据,则file_get_contents返回一个空字符串。如果你愿意尝试,var_dump('' == false);你会得到true. 因此,即使可以读取文件,文件的内容也会计算为false.

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

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

编辑; 链接到比较运算符的文档。

于 2013-07-12T12:36:23.227 回答