Я создаю новый файл с помощью функции fopen.
$filename = 'user_data/10.xml';
$openhandle = fopen($filename, 'w+');
Затем я проверяю, был ли файл создан, используя: file_exists()
function.
Проблема в следующем: Файл создается с каким-то владельцем, возможно, именем папки, но не мной. Кроме того, права доступа к файлу имеют только читаемые владельцем
.
А поскольку я не являюсь владельцем, я не могу прочитать файл или изменить разрешения.
Но если попытаться изменить их с помощью:
chown($filename, 'myusername');
chmod($filename, 777);
Я попробовал изменить владельца файла и разрешения с помощью терминала, используя sudo
. Это сработало правильно.
Поэтому я также попробовал использовать вышеуказанные функции с shell_exec()
, чтобы они выполнялись от имени root.
Но не повезло.
Хотя у меня нет большого опыта работы с номерами разрешений файлов, команда chown также не работает.
Так как же мне изменить владельца и разрешения файла, чтобы я стал владельцем, а его могли читать и записывать другие PHP-скрипты?