array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.chmod.php', 1 => 'chmod', ), 'up' => array ( 0 => 'ref.filesystem.php', 1 => 'Funções do sistema de arquivos', ), 'prev' => array ( 0 => 'function.chgrp.php', 1 => 'chgrp', ), 'next' => array ( 0 => 'function.chown.php', 1 => 'chown', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/filesystem/functions/chmod.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
chmod — Modifica as permissões do arquivo
Tenta mudar as permissões do arquivo especificado para o especificado em
permissions
.
filename
O caminho para o arquivo.
permissions
Note que permissions
não é automaticamente
assumido como valor em octal, então para assegurar a operação esperada,
é necessário prefixar permissions
com um zero (0).
Strings como "g+w" naõ irão funcionar adequadamente.
<?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 permissions
consiste de três componentes
numéricos em octal especificando restrições de acesso para o proprietário,
para o grupo de usuário onde está o proprietário e para todos os outros usuários,
nesta ordem. Um componente pode ser calculado adicionando-se as permissões
necessárias para o usuário 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 especificar os direitos desejados. Pode-se consultar mais
sobre modos em sistemas Unix com os comandos 'man 1 chmod'
e 'man 2 chmod'.
<?php
// Escrita e leitura para o proprietário, nada mais para ninguém
chmod ("/somedir/somefile", 0600);
// Escrita e leitura para o proprietário, leitura para todos os outros
chmod ("/somedir/somefile", 0644);
// Tudo para o proprietário, leitura e execução para os outros
chmod ("/somedir/somefile", 0755);
// Tudo para o proprietário, leitura e execução para o grupo do prop
chmod ("/somedir/somefile", 0750);
?>
Em caso de falha, um aviso E_WARNING
é emitido.
Nota:
O usuário atual é aquele sob o qual o PHP é executado. Provavelmente não é o mesmo usuário que acessa linha de comando ou FTP. O modo pode ser modificado apenas pelo usuário proprietário do arquivo na maioria dos sistemas.
Nota: Esta função não funcionará em arquivos remotos, pois o arquivo a ser examinado deve ser acessível através do sistema de arquivos do servidor.