file_get_contents с пустым файлом не работает PHP

Я пытаюсь использовать file_get_contents для PHP, но он не работает.

Есть мой код:

$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 октетов). Он существует, но он пуст.

Когда я что-то пишу в него, мой код работает отлично, но если он пуст, мой код echo "fail"

Почему, почему он не может открыть файл text.txt ?

Функция file_get_contents возвращает строку, находящуюся в файле. Если файл не содержит данных, то file_get_contents возвращает пустую строку. Если вы попытаетесь выполнить var_dump('' == false); вы бы true . Таким образом, даже если файл можно прочитать, содержимое файла оценивается как false .

Если вы будете использовать эту строку, ваш код должен работать:

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

Редактировать; ссылку на документацию операторов сравнения .