Изменяет режим доступа к файлу


(PHP 4, PHP 5)

chmodИзменяет режим доступа к файлу

Описание

bool chmod ( string $filename , int $mode )

Осуществляет попытку изменения режима доступа указанного файла на режим, переданный в параметре 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) биты.

Смотрите также

  • chown() - Изменяет владельца файла
  • chgrp() - Изменяет группу владельцев файла
  • fileperms() - Возвращает информацию о правах на файл
  • stat() - Возвращает информацию о файле