Effacer un dossier [Résolu]

Signaler
Messages postés
143
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
6 juin 2010
-
Messages postés
23
Date d'inscription
dimanche 28 mars 2004
Statut
Membre
Dernière intervention
4 décembre 2004
-
Comment faire pour effacer un dossier avec un contenu a l'interieur ????

rmdir($dossier);

ca suffit pas !

6 réponses

Messages postés
947
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 avril 2008
3
Salut,
http://www.nexen.net/docs/php/annotee/function.rmdir.php?lien=effacer+dossier
Comme le dit Nexen, cette fonction efface un dossier uniquement VIDE.
Dans ton cas, liste les fichiers present dans ce dossier, et utilise la fonction (combiner à une while et un listage d'array) :
http://www.nexen.net/docs/php/annotee/function.unlink.php
UNLINK();
Si ya des sous dossier, alors emploit la fonction :
http://www.nexen.net/docs/php/annotee/function.scandir.php?lien=dossier
SCANDIRE();

C'est en tout ce que je peut te conseiller.
Messages postés
143
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
6 juin 2010

j'ai utlisé la fonction scandir mais elle retourne

Fatal error: Call to undefined function: scandir() in c:\program files\easyphp1-7\www\agendasorties\test2.php on line 14
ligne 14 $list scandir("$dossier");

donc......
Messages postés
282
Date d'inscription
vendredi 16 mai 2003
Statut
Membre
Dernière intervention
19 juillet 2006

salut aquewel!!
je crois ke la fonction scandir n'est pas une fonction-clé de PHP... ce qui signifie que tu dois la créer toit meme! mais regarde sur ce site, il existe de nombreux de ce genre

Que la Force soit avec toi, Jeune Padawan!!!
Messages postés
23
Date d'inscription
dimanche 28 mars 2004
Statut
Membre
Dernière intervention
4 décembre 2004

salut,

deja tu peux effacer l 'interieur avec ca (trouvé ici grace a une recherche ...) :

<?
$dossier="dossier_a_vider";
$ouverture=opendir($dossier);
$fichier=readdir($ouverture); // dossier "."
$fichier=readdir($ouverture); // dossier ".."
while ($fichier=readdir($ouverture)) {
unlink("$dossier/$fichier");
}
closedir($ouverture);
?>


apres t'as plus qu'à mettre un if qui n'execute le code que quand il y a un/des fichier/s ^^
Messages postés
282
Date d'inscription
vendredi 16 mai 2003
Statut
Membre
Dernière intervention
19 juillet 2006

je me permet de retoucher ton code darkkat, le mien permet d'ignorer de facon sure le dossier acteul et le dossier supérieur:
<?
$dossier="dossier_a_vider";
$ouverture=opendir($dossier);

while ($fichier=readdir($ouverture))
{
if($fichier!="." && $fichier!="..")
{
unlink("$dossier/$fichier");
}
}
closedir($ouverture);
?>

ensuite on pourrai retoucher ce code pour kil detecte les dosier et si c le cas, kil rentre dedans et kil execute a nouveau la meme action.... (principe de récursivité)

Que la Force soit avec toi, Jeune Padawan!!!
Messages postés
23
Date d'inscription
dimanche 28 mars 2004
Statut
Membre
Dernière intervention
4 décembre 2004

ce n'était pas le mien, je l'ai trouve dans un autre thread donc c'est meme bien que tu le completes / corrige car j'ai un peu la flemme :D, merci