2010-11-09 5 views
1

Possible en double:
PHP code mkdir('images','0777') creates a folder with 411 permissions! Why?mkdir() en php ne fixe pas de l'autorisation de dossier pour 0777

Je suis en train de créer un dossier sur mon serveur en utilisant php j'ai essayé ceci et cela ne fonctionne pas il a mis à 411 quelqu'un sait-il pourquoi cela se produit? J'ai également essayé chmod mais j'obtiens une erreur de mode sans échec.

chmod($create_path, '0777'); 
+0

également dupliquer des http://stackoverflow.com/questions/4061224/php-mkdir-and- fopen-does-not-travail-permissions-problème-umask-problème http://stackoverflow.com/questions/4061224/php-mkdir-and-fopen-does-not-work-permissions-problem-umask-problem http: //stackoverflow.com/questions/4061224/php-mkdir-and-fopen-does-not-work-permissions-problem-umask-problem et autres. –

Répondre

1

Le second paramètre doit être un entier comme vous pouvez le voir here. donc utiliser celui-ci

mkdir (create_path de $, 0777); // ça devrait marcher!

+2

cela maintenant réglé à 755 – Rickstar

5

Les deux chmod() et mkdir() acceptent un entier pour le mode $. Il est plus facile d'utiliser les numéros octal dans ce cas:

mkdir('/path', 0777); // using octal 
mkdir('/path', 511); // same thing as previous but using decimal 

Soyez prudent et assurez-vous préfixer le mode (i.e. .: 777) avec un 0 à dire l'analyseur à utiliser octal. Omettre le 0 le fera utiliser décimal et donnera un résultat différent.

Depuis '0777' (string) est converti en décimal 777, il n'est pas le même mode que 0777.