Обратите внимание, что значение параметра режим не переводится автоматически в восьмеричную систему счисления, поэтому строки (такие, как, например, "g+w") не будут работать должным образом. Чтобы удостовериться в том, что режим был установлен верно, предваряйте значение, передаваемое в параметре режим, нулем (0):
Пример кода
<?php
chmod ("/somedir/somefile", 755); // десятичное, неверный способ
chmod ("/somedir/somefile", "u+rwx,go+rx"); // строка, неверный способ
chmod ("/somedir/somefile", 0755); // восьмеричное, верный способ
?>
Значение параметра режим состоит из трех восьмеричных чисел, определяющих уровень доступа для владельца файла, для группы, в которую входит владелец, и для других пользователей, соответственно. Число, определяющее уровень пользователя, может быть вычислено путем суммирования значений, определяющих права: 1 - доступ на чтение, 2 - доступ на запись, 4 - доступ на выполнения. Более подробно о назначении прав в системах 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 в случае возникновения ошибки.