Функция PHP chmod

bool chmod ( string filename, int mode )

Осуществляет попытку изменения режима доступа файла или каталога, переданного в параметре filename на режим, переданный в параметре mode.

Обратите внимание, что значение параметра mode не переводится автоматически в восьмеричную систему счисления, поэтому строки (такие, как, например, "g+w") не будут работать должным образом. Чтобы удостовериться в том, что режим был установлен верно, предваряйте значение, передаваемое в параметре mode, нулем (0):

<?php
   chmod("/somedir/somefile", 755);   // десятичное, неверный способ
   chmod("/somedir/somefile", "u+rwx,go+rx"); // строка, неверный способ
   chmod("/somedir/somefile", 0755);  // восьмеричное, верный способ
?>

Значение параметра mode состоит из трех восьмеричных чисел, определяющих уровень доступа для владельца файла, для группы, в которую входит владелец, и для других пользователей, соответственно. Число, определяющее уровень пользователя, может быть вычислено путем суммирования значений, определяющих права:

Более подробно о назначении прав в системах Unix вы можете узнать с помощью команд 'man 1 chmod' and '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 (владелеца), как и выполняемый скрипт. Кроме того, вы не можете устанавливать SUID, SGID и "липкие" биты.

См.также описание функций chown() и chgrp().