fopen создает файл, но как изменить разрешения?

Я создаю новый файл с помощью функции 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-скрипты?

10
задан Benjamin 20 July 2017 в 00:49
поделиться