Supprimer fichier

Signaler
Messages postés
53
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
14 juin 2006
-
Messages postés
1
Date d'inscription
samedi 5 mars 2005
Statut
Membre
Dernière intervention
14 juin 2006
-
Bonjour,

J'ai créé une boucle dans laquelle je supprime tous les messages archivés cochés.
Je souhaiterai également supprimer tous les dossiers contenant les piéces jointes éventuelles relatives à ces mails.

for($i=0;$i<=$_POST['nbcheckbox'];$i++)
        {               
            if (isset($_POST['message'.$i.'']))
            {           
                $message=new Message($_POST['message'.$i.'']);
                $message->supprimer(9);
               
                $dossier_traite = "pieces/dossier_".$message->id."/";
                if(file_exists($dossier_traite))
                {
                $repertoire = opendir($dossier_traite); //on définit le repertoire dans lequel on souhaite travailler
                        while (false !($fichier readdir($repertoire))) //on lit chaque fichier du répertoire dans la boucle
                            {
                                $chemin = $dossier_traite."/".$fichier; //on définit le chemin du fichier à effacer
                                //si le fichier n'est pas un répertoire
                                if ($fichier != ".." AND $fichier != "." AND !is_dir($fichier))
                                       {
                                       unlink($chemin); //on efface
                                       }
                            }
                           
                closedir($repertoire); //Ne pas oublier de fermer le dossier
                unlink($dossier_traite);
                }
            }
        }

Voila en fait tout marche, ca me supprime le contenu des dossiers, MAIS PAS LE DOSSIER, le unlink me pose une erreur ("Permission denied") et il me reste donc tous les dossiers vides !!!!!

SVP, AU SECOURS !!!
Merci à tous.

3 réponses

Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
une fonction toute faite de malalam ca se refuse pas surtout quand elle fonctionne parfaitement.
http://www.phpcs.com/codes/SUPPRIMER-PLUSIEURS-REPERTOIRES-TOUT-QU-DEDANS_33556.aspx

--------------------------------------------------------------------------------------------------
         Ilvaut mieux poser une question et passer pour bête que le rester toutesa vie
Messages postés
53
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
14 juin 2006

Voila, en fait on supprime pas un répertoire comme un fichier, il faut donc utiliser "rmdir($dossier_traite);"  au lieu de "unlink($dossier_traite);"!!!
Mon script marche aussi maintenant !
Messages postés
1
Date d'inscription
samedi 5 mars 2005
Statut
Membre
Dernière intervention
14 juin 2006