У меня есть основной скрипт, где я удаляю (отменяю связь) файл. Затем в некотором сценарии, который я включаю позже в этот основной сценарий, я записываю в этот файл (в файл с тем же именем, что и удаленный в любом случае, поскольку он уже должен быть удален).
Происходит следующее: после запуска основного скрипта файл удаляется. Так как операция unlink произошла после записи в файл. То же самое происходит, когда я обрезаю файл в основном скрипте (перезаписывая его пустой строкой), а затем записываю в этот файл. В результате файл пуст (как будто обрезание файла имело место после записи, но буквальный порядок в коде меняется на обратный).
Что здесь может быть не так? Или, если это не так, почему это так работает?
EDIT:
сначала (в основном скрипте):
unlink($config['directory'].'logs/info.txt');
затем (в некоторых включается скрипт):
$f = fopen($config['directory'].'logs/info.txt', "w");
fwrite($f, "Text");
fclose($f);
Я думал, что может быть какая-то распространенная ошибка, на которую вы могли бы указать (например, не вызывать fclose или что-то в этом роде). Поэтому, вероятно, мне нужно исследовать это ближе (но я уверен, что никакие другие операции с этим файлом не выполняются, потому что я использовал какое-то уникальное имя файла, и то же самое происходит).