(PHP 4, PHP 5, PHP 7)
chmod — Изменяет режим доступа к файлу
$filename
, int $mode
) : bool
Осуществляет попытку изменения режима доступа указанного файла
на режим, переданный в параметре mode
.
filename
Путь к файлу.
mode
Обратите внимание, что значение параметра mode
не переводится автоматически в восьмеричную систему счисления,
поэтому, чтобы удостовериться в том, что режим
был установлен верно, предваряйте нулем (0) значение
передаваемое в параметре mode
.
Строки, такие как "g+w", не будут работать
должным образом.
<?php
chmod("/somedir/somefile", 755); // десятичное, скорее всего, указано неверно
chmod("/somedir/somefile", "u+rwx,go+rx"); // строка, неверный способ
chmod("/somedir/somefile", 0755); // восьмеричное, верный способ
?>
Значение параметра mode
состоит
из трех восьмеричных чисел, определяющих уровень доступа
для владельца файла, для группы, в которую входит владелец,
и для других пользователей, соответственно. Число, определяющее
уровень пользователя, может быть вычислено путем суммирования
значений, определяющих права: 1 - доступ на выполнение, 2 -
доступ на запись, 4 - доступ на чтение. Сложите эти числа для
указания нужного права доступа. Более подробно о системе
прав в системах Unix вы можете узнать с помощью команд
'man 1 chmod' и 'man 2 chmod'.
<?php
// Доступ на запись и чтение для владельца, нет доступа для других
chmod("/somedir/somefile", 0600);
// Доступ на запись и чтение для владельца, доступ на чтение для других
chmod("/somedir/somefile", 0644);
// Полный доступ для владельца, доступ на чтение и выполнение для других
chmod("/somedir/somefile", 0755);
// Полный доступ для владельца, доступ на чтение и выполнение для группы владельца
chmod("/somedir/somefile", 0750);
?>
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Замечание:
Текущим пользователем является пользователь, от имени которого выполняется PHP. Возможно, что это будет не тот пользователь, под именем которого вы получаете доступ к командной оболочке или учетной записи FTP. На большинстве систем режим доступа к файлу может быть изменен только его владельцем.
Замечание: Эта функция неприменима для работы с удаленными файлами, поскольку файл должен быть доступен через файловую систему сервера.
Замечание:
При включенном безопасном режиме PHP проверяет имеет ли файл или директория, с которой вы работаете, такой же UID (id владельца), как и выполняемый скрипт. Кроме того, вы не можете устанавливать SUID, SGID и "липкие" (sticky) биты.