[PHP] mkdir() et rmdir()

Fermé
WayneGretzky Messages postés 4 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 4 août 2007 - 31 juil. 2007 à 11:26
 Beretta - 13 oct. 2007 à 04:36
Hello,

Je suis en train de programmer une interface web pour la gestion d'une base de données MySQL. J'utilise PHP 5.x et je rencontre des difficultées avec les fonctions Mkdir() et Rmdir().

La chose est assez amusante... enfin au début après ça devient énervant ;-)

Si je fait un script unique qui crée et détruit un répertoire ça fonctionne par exemple :
<?mkdir("c:\toto",0777);rmdir("c:\toto");?>

par contre dans mon interface j'ai deux pages différentes, donc deux scripts différents qui interviennent donc j'ai :
page1.php : <?mkdir("C:\toto",0777)?>
page2.php : <?rmdir("c:\toto")?>

Et là j'ai une erreur dans la page 2. Il me signale un problème de privilège.

Je comprend pas trop pourquoi parce que normalement c'est l'utilisateur "Web" qui a crée le répertoire "toto" dans la page 1 et qui le détruit dans la page 2 non? Sinon quel est le nom d'utilisateur du serveur Apache?

Merci de votre aide précieuse!
A voir également:

3 réponses

Salut,

à ta place je regarderai les droits attribués à ton répéretoire 'toto' par PHP. Si tu fait tourner ton script en local il est possible que la suppression soit bloqué par Firewall.

Par contre, ton test unique :


<?mkdir("c:\toto",0777);
rmdir("c:\toto");?>


n'a pas vraiment de sens car on peux pas vraiment savoir si le répertoire a été créé. Est-il effacé par ton script ? Est-il créé ?

cordialement
Kodeya
0
WayneGretzky Messages postés 4 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 4 août 2007
31 juil. 2007 à 12:05
Hello,

Tu as raison le script n'a pas de sens en soit mais :
- rien ne se passe si je le passe tel quel
- si je commente la ligne 2 le répertoire toto est bien là

Donc je pense qu'il marche. Ce qui m'embête c'est que si je le passe en 2 script ça marche plus... bizarre.. un problème de droit oui... mais les droits sont attribué à l'utilisateur Apache non? pas au script?

je vais voir les droits du dossier faut que je regarde sur la machine je crois pas qu'il affiche ça en VNC...

Merci bcp
0
WayneGretzky Messages postés 4 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 4 août 2007
4 août 2007 à 10:31
Hello,

J'ai un peu cherché mais je n'ai pas trouvé la solution à mon problème. Est-ce que tu sais si c'est dans la config de Apache que l'on spécifie les droits ?

Merci d'avance et cordiales salutations
0
Bonjour, Tu est sure que ton serveur n'est pas en safe mode ?
Regarde ce lien : https://www.php.net/manual-lookup.php?pattern=features.safe-mode&lang=en&scope=404quickref

Sinom il te reste la function ftp_connect(); en attendent PHP6

<?php

$serveur = "ton serveur";
$user = "login";
$password = "mot de passe";
$docfile = "le nom de ton dossier"; exemple $docfile = "photo/julien";

$ftp = ftp_connect($serveur);
$result = ftp_login($ftp, $user, $password);

// crée le dossier
ftp_mkdir($ftp, $docfile);
//supprimé
ftp_delete($ftp, $docfile);

ftp_close($ftp);

?>

www.LiveChatteur.fr
0