array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.umask.php', 1 => 'umask', ), 'up' => array ( 0 => 'ref.filesystem.php', 1 => 'Funções do sistema de arquivos', ), 'prev' => array ( 0 => 'function.touch.php', 1 => 'touch', ), 'next' => array ( 0 => 'function.unlink.php', 1 => 'unlink', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/filesystem/functions/umask.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
umask — Modificar a umask atual
umask() modifica o umask do PHP para a
mask
& 0777 e retorna o umask
antigo. Quando o PHP está sendo usado como um módulo de servidor, o umask
é restaurado ao final de cada requisição.
mask
A nova máscara.
Se mask
for null
, umask()
simplesmente retorna a umask atual senão a umask antiga é retornada.
Versão | Descrição |
---|---|
8.0.0 |
mask agora pode ser nulo.
|
Exemplo #1 Exemplo da umask()
<?php
$umaskAntigo = umask(0);
chmod("/caminho/diretorio/arquivo.txt", 0755);
umask($umaskAntigo);
// Checking
if ($umaskAntigo != umask()) {
die('Ocorreu um erro ao voltar para o umask antigo');
}
?>
Nota:
Evite usar esta função em servidores web multithreaded. É melhor modificar as permissões do arquivo com chmod() depois de criar o arquivo. Usando umask() pode levar a comportamento inesperado de scripts executados concorrentemente e do próprio webserver porque todos eles usam a mesma umask.