PHP fornece uma função chamada " mkdir ", que permite que você crie um novo diretório. Um argumento opcional especifica o valor numérico das permissões a serem atribuídos para o novo diretório . Por exemplo , as permissões de " 0777 " fornecer ler, escrever e executar permissões para o " dono", " grupo " e "outro". Há vários casos em que a atribuição de permissão com a "função mkdir " aparecerá como se ele não funciona porque o novo diretório não têm as mesmas permissões que você passou para a função. Não aplicável ao Windows
A lista de permissões que você fornecer para a função " mkdir " são válidas somente em sistemas de arquivos baseados em Linux . Isto significa que você não pode associar permissões com um diretório que você criar no Windows. Se você passar permissões com a função " mkdir " no Windows , PHP simplesmente ignora -los.
Padrão de Conta de Usuário
Lembre-se que um script executado em um servidor Web a partir de um navegador é executado sob a conta de usuário padrão no servidor web, como o " www-data ", e não sob a sua conta de usuário. Se as permissões de diretório não estão funcionando, pode ser porque você está testando um script em sua conta em vez da conta de usuário padrão. Você pode testar o script como o usuário padrão , digitando " su www -data" e explorar as permissões do diretório atribuídas a esse usuário.
Máscara Diretório
Se as permissões resultantes de um novo diretório é diferente do que você passou , pode ser por causa de uma máscara aplicada ao diretório as permissões. A máscara é mantida pelo servidor Web , e não por PHP. Para contornar a máscara , use a função " umask " para definir a máscara para zero, criar o diretório usando o " mkdir " e altere as permissões do diretório com a função " chmod "
Por exemplo : . < ? br>
< br > Atribuição recursiva
A função " mkdir " leva um segundo argumento opcional que cria diretórios aninhados de forma recursiva. Ao atribuir permissões de diretório de forma recursiva, as permissões não podem ser executadas na ordem correta e que você pode obter resultados diferentes do que você esperava . Para garantir a ordem correta , use a função " chmod " para atribuir permissões de diretório para o novo diretório após criá-la com a função " mkdir "
Por exemplo : .
< ? phpif ( mkdir ( $ newdir , 0755 , true) ) chmod ( $ newdir , 0755 ); ? >