fopen создает файл, а как поменять разрешения? - PullRequest
10 голосов
/ 29 декабря 2011

Я создаю новый файл с помощью fopen.

$filename = 'user_data/10.xml';
$openhandle = fopen($filename, 'w+');

Затем я проверяю, был ли файл создан с использованием: file_exists() function.

Проблема заключается в следующем: файлсоздается с каким-то владельцем, вероятно, именем папки, но это не я.Также права доступа к файлу только readable by the owner.И поскольку я не владелец, я не могу прочитать файл или изменить разрешения.

Но если попытаться изменить его с помощью:

chown($filename, 'myusername');
chmod($filename, 777);

Я попытался изменить владельца файлаи разрешения с использованием Терминала с использованием sudo.Это сработало правильно.Поэтому я также попытался использовать вышеупомянутые функции с shell_exec(), чтобы он работал в корне.

Но не повезло.

Хотя у меня нет большого опыта с номерами разрешений файлов,Команда chown также не работает.

Итак, как мне изменить владельца и права доступа к файлу, чтобы я стал его владельцем и читал и записывал другие мои PHP-скрипты?

1 Ответ

18 голосов
/ 29 декабря 2011

Вы должны иметь возможность chmod использовать только следующую строку:

chmod($filename, 0777);

Обратите внимание на 0 перед 777.

Также не меняйте владельца, пока он не был chmodред

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...