Aller au contenu

Problème avec Mkdir


dldstyle

Sujets conseillés

Salut à tous,

Tout à commencé quand un client a souhaité avoir un site de dév sur le même serveur. Il s'est ajouté un NDD par le PLESK sur son serveur dédié.

Il copié tout son site dans le nouveau et je lui ai dupliqué la base. Tout fonctionnait sauf la création de dossier par de nouveaux membres. Ne pouvant agir sur les droit du dossier par FTP j'ai décidé de renommer ce dernier et d'en créer un avec le code suivant :

$folder = "test";
if (mkdir($folder, 0777)) {
echo "le dossier ".$folder. " a ete cree";
}
else {
echo "ca ch** dans la colle.";
}

En faisant cela, je ne peux pas créer un sous dossier dans ce dernier pour la simple raison que mon dossier "test" n'est pas en 777 mais 755 seulement ! Impossible de le chnager par FTP.

Que faire ? Merci pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ce début de réponse mais je nage total. :wacko:

C'est une commande linux à éxcuter sur le serveur ? Depuis PLesk, depuis Putty par exemple ?

Une fois que c'est fait, est ce que les nouvelles créations de dossiers en dynamique auront les mêmes droits, en 777 ?

Merci beaucoup

Lien vers le commentaire
Partager sur d’autres sites

Hello,

le umask est une sorte de "filtre" qui vient se retrancher (en gros hein) aux droits que tu indiques.

Sur beaucoup de systèmes il est à "022" par défaut. Donc quand tu indiques de créer un dossier en 777 c'est converti en 755.

Plusieurs solutions pour y remédier :

*) avant de faire le mkdir tu modifies l'umask (via la fonction PHP), tu crées ton dossier, puis tu remets l'umask comme il était. En effet le umask est conservé pour toute la durée du processus, et si tu ne le remets pas comme il était tu pourrais avoir des effets de bord dans d'autres scripts.

*) juste après ton mkdir() tu fais un chmod(), dans le même script. Généralement on déconseille cette approche car pendant un pouillème de seconde le dossier/fichier est créé avec trop de droit, avant de voir ses droits restreints ; mais dans ton cas tu cherches à faire le contraire, les effets de bords seront donc moins importants.

*) ou bien faire avec. Dans ta tambouille je ne sais pas ce qui tourne sous quel utilisateur, mais si le propriétaire du dossier est le "bon", les droits 0755 suffisent amplement.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...