Script PHP problème suppresion repertoire
Résolu
TheBleedz
-
TheBleedz Messages postés 38 Statut Membre -
TheBleedz Messages postés 38 Statut Membre -
Bonjour,
J'ai créer un petit script avec un exercice dans un livre qui expliqué comment faire mais voila le livre est accès vieux et dans un salle état enfin bref. J'ai réussis a créer une fonction d'ajout de répertoire mais j'arrive pas à créer une fonction suppression répertoire.
Ça bloque quelque part mais je sais pas =/ J'espère qu'un pro du PHP va passé par ici ^^
Voici le code de ma page del_dir.php :
J'ai essayé de faire claire pour un maximum de visibilité et qui faut pas continué à chercher.
Merci d'avance et bonne journée à vous.
J'ai créer un petit script avec un exercice dans un livre qui expliqué comment faire mais voila le livre est accès vieux et dans un salle état enfin bref. J'ai réussis a créer une fonction d'ajout de répertoire mais j'arrive pas à créer une fonction suppression répertoire.
Ça bloque quelque part mais je sais pas =/ J'espère qu'un pro du PHP va passé par ici ^^
Voici le code de ma page del_dir.php :
function clr_dir($dir) {
if(@ ! $opendir = opendir($dir)) {
return false;
}
while(false !== ($readdir = readdir($opendir))) {
if($readdir !== '..' && $readdir !== '.') {
$readdir = trim($readdir);
if(is_dir($dir.'/'.$readdir)) {
if(@!unlink($dir.'/'.$readdir)) {
return false;
}
}
elseif(is_dir($dir.'/'.$readdir)) {
// on appel la fonction elle meme pour supprimer les sous répertoires
if(!clr_dir($dir.'/'.$readdir)) {
return false;
}
}
}
}
closedir($opendir);
if(@ ! rmdir($dir)) {
return false;
}
return true;
}
if (isset($_GET['supprimer_categorie'])){
// on ecchape tous les caractère spéciaux
$categorie = htmlentities($_GET['supprimer_categorie'],ENT_QUOTES);
// on va vérifier que la catégorie existe
if (is_dir("photo/".$categorie."")){
// puis on supprime les 2 dossiers, et leur contenu
clr_dir("photo/".$categorie."");
// on fait une vérification sur la création pour le retour à l'utilisateur
if (is_dir("photo/".$categorie."") && is_dir("photo/".$categorie."/mini")){
echo "<p>Une erreur est survenu durant la suppression de votre catégorie </br> Veuillez contacter votre administrateur</p>";
}
else{
echo "<p>La catégorie : ".$categorie.", a bien été supprimée</p>";
}
}
else{
echo "<p>Votre catégorie : ".$categorie.", a déja été effacée :)</p>";
}
}
?>
J'ai essayé de faire claire pour un maximum de visibilité et qui faut pas continué à chercher.
Merci d'avance et bonne journée à vous.
5 réponses
-
Bonjour
Je n'ai pas testé, mais à la lecture de ton script, il me semble que le test de la condition fichier / répertoire n'est pas correct, tu testes deux fois répertoire :
il faudraitif(is_file($dir.'/'.$readdir)) {à la place deif(is_dir($dir.'/'.$readdir)) { -
Merci de votre réponse.
Oui vous avez raison j'ai fait une erreur accès grave. Merci de me le faire signaler. Mais malheureusement ça ne marche toujours pas.
Merci. -
Y a-t-il un message d'erreur ?
Y a-t-il un effacement au moins partiel ?
Peut-être un problème de droits ? Pour le vérifier, essayer sans le @ dans if(@!unlink($dir.'/'.$readdir)) { -
Y a-t-il un message d'erreur ?
Oui il me met :Une erreur est survenu durant la suppression de votre catégorie Veuillez contacter votre administrateur "; } else{ echo " La catégorie : ".$categorie.", a bien été supprimée "; } } else{ echo " Votre catégorie : ".$categorie.", a déja été effacée :) "; } } ?>
Mais logique vus que mon dossier existe toujours.
Y a-t-il un effacement au moins partiel ?
Bah non je vais dans le dossier photo la catégorie et toujours la et les éléments dedans aussi.
Peut-être un problème de droits ?
Fa na pas changer toujours la même erreur.
Merci beaucoup de te casser la tête pour m'aider. J'essaye de mon coté mais rien ne bouge. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -