chmod
(PHP 4, PHP 5)
chmod — Modifica as permissões do arquivo
Descrição
Tenta mudar as permissões do arquivo especificado por arquivo para o dado em modo .
Note que modo não é necessariamente um número octal, então strings (como "g+w") não funcionarão. Para garantir que a operação seja bem sucedida é necessário prefixar modo com zero (0):
<?php
chmod ("/arquivo/diretorio", 755); // decimal; provavelmente incorreto
chmod ("/arquivo/diretorio", "u+rwx,go+rx"); // string; incorreto
chmod ("/arquivo/diretorio", 0755); // octal; representação correta do modo
?>
O parâmetro modo consiste em três números em octal especificando as restrições de acesso para o proprietário, grupo de usuário do proprietário e finalmente qualquer outro, nessa ordem. Cada número pode ser calculado pela adição das permissões necessárias para o alvo. O número 1 significa direito de execução, 2 significa direito de escrita, 4 significa direito de leitura. Some esses números para ter os direitos desejados. Você pode ler mais sobre os modos em sistemas UNIX com 'man 1 chmod' e 'man 2 chmod'.
<?php
// Escrita e leitura para o proprietario, nada ninguem mais
chmod ("/somedir/somefile", 0600);
// Escrita e leitura para o proprietario, leitura para todos os outros
chmod ("/somedir/somefile", 0644);
// Tudo para o proprietario, leitura e execucao para os outros
chmod ("/somedir/somefile", 0755);
// Tudo para o proprietario, leitura e execucao para o grupo do prop
chmod ("/somedir/somefile", 0750);
?>
Retorna TRUE em caso de sucesso ou FALSE em falhas.
Nota: O usuário atual é aquela sob o qual o PHP é executado. Provavelmente não é o mesmo usuário que você normalmente usa quande acessa uma conta shell ou FTP. O modo pode ser modificado apenas pelo usuário dono do arquivo na maioria dos sistemas.
Nota: Esta função não trabalha com arquivos remotos, de forma que o arquivo a ser examinado precisa ser acessÃvel pelo sistema de arquivos do servidor.
Nota: Quando safe mode esta ativado, o PHP confere se os arquivos e diretórios os quais você vai operar tem o mesmo UID (proprietário) do que o script que esta sendo executado. Em adição, você não pode definir SUID, SGID e sticky bits.