Script PHP problème suppresion repertoire

Résolu/Fermé
TheBleedz - 10 janv. 2012 à 15:25
TheBleedz Messages postés 38 Date d'inscription vendredi 15 juillet 2011 Statut Membre Dernière intervention 10 février 2017 - 10 janv. 2012 à 18:51
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 :
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.
A voir également:

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 faudrait
                               if(is_file($dir.'/'.$readdir)) {
à la place de
                               if(is_dir($dir.'/'.$readdir)) {
0
TheBleedz Messages postés 38 Date d'inscription vendredi 15 juillet 2011 Statut Membre Dernière intervention 10 février 2017
10 janv. 2012 à 16:56
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.
0
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)) {
0
TheBleedz Messages postés 38 Date d'inscription vendredi 15 juillet 2011 Statut Membre Dernière intervention 10 février 2017
10 janv. 2012 à 17:40
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
TheBleedz Messages postés 38 Date d'inscription vendredi 15 juillet 2011 Statut Membre Dernière intervention 10 février 2017
10 janv. 2012 à 18:51
Je trouve vraiment pas...
0