Le mode est modifié par votre umask
actuel, qui est 022
dans ce cas. Le fonctionnement du umask
est soustractif. Vous prenez l'autorisation initiale donnée à mkdir
et soustrayez le umask
pour obtenir la réelle permission:
0777
- 0022
======
0755 = rwxr-xr-x.
Si vous ne voulez pas que cela se produise, vous devez définir votre umask
temporairement à zéro il n'a pas effet. Vous pouvez le faire avec l'extrait suivant:
$oldmask = umask(0);
mkdir("test", 0777);
umask($oldmask);
La première ligne modifie la umask
à zéro tout en stockant le précédent dans $oldmask
. La deuxième ligne rend le répertoire en utilisant les permissions désirées et (maintenant non pertinentes) umask
. La troisième ligne restaure le umask
à ce qu'il était à l'origine. Voir le doco PHP pour umask et mkdir pour plus de détails.