Файл PHP, созданный с помощью fopen, исчезает

В моем сценарии я использую fopen для создания txt-файла. При выполнении сценария я вижу, что файл txt создается на ftp, но когда я обновляю содержимое ftp, файл исчезает? Это нормальное поведение или я неправильно использую команду fopen?

Я использую это так:

$fp = fopen(dirname(__FILE__).'/errorlog.txt', 'w');

person James    schedule 30.10.2020    source источник
comment
То же самое происходит, если писать через file_get_contents()?   -  person Mitya    schedule 30.10.2020
comment
Вы также используете fclose после того, как закончите запись данных в файл…?   -  person CBroe    schedule 30.10.2020
comment
я не использую fclose, мне это нужно?   -  person James    schedule 30.10.2020
comment
Даже при использовании fclose поведение такое же.   -  person James    schedule 30.10.2020
comment
Запустив только строку PHP, указанную в вопросе, файл остается для меня на сервере, даже если в него ничего не записывается. Есть ли еще код после этой строки, который мы должны увидеть?   -  person A Haworth    schedule 30.10.2020


Ответы (1)


Если вы хотите постоянно записывать в этот файл (т.е. добавлять в него больше содержимого, так как это журнал ошибок), попробуйте использовать это:

$errorMessage = 'Test writing to errorlog.txt';
file_put_contents(dirname(__FILE__).'/errorlog.txt', $errorMessage, FILE_APPEND | LOCK_EX);
person BornSupercharged    schedule 30.10.2020
comment
действительно, это должен быть журнал ошибок, который заполняется каждый час. Я вызываю его из CURLOPT_STDERR => $fp Как мне реализовать ваш пример в этом? - person James; 30.10.2020