2011-05-04 2 views
0

Je voulais créer un dossier et définir son autorisation. Il fonctionnait correctement avec Windows, mais quand je suis passé à Linux, il avait des problèmes de permission.Création de dossiers et d'autorisations sous Linux

//Make new directory  
$directory = dirname($this->fileName); 
if(!is_dir($directory)) { 
    if (!mkdir($directory, 0777, true)) 
    die('Failed to create folders...'); 
} else { 
    die('ah ok...'); 
} 

Pour que cela fonctionne, je dois définir l'autorisation du dossier manuellement 777. Ensuite, l'application peut s'exécuter avec succès.

Ensuite, je supprime à nouveau le dossier existant pour le tester, ne peut pas créer à nouveau car autorisation refusée, il ne parvient pas à créer un dossier.

Répondre

0

Vérifiez votre umask() et réglez-le sur 0. Si votre umask est 0022 par exemple, votre répertoire nouvellement créé aura l'autorisation 0755 au lieu de 0777 lorsque vous le créerez.

Questions connexes