Я пытаюсь использовать 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){
Редактировать; ссылку на документацию операторов сравнения .