Effacer un dossier

Résolu
aquewel Messages postés 143 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 6 juin 2010 - 3 déc. 2004 à 17:43
darkkat Messages postés 23 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 4 décembre 2004 - 4 déc. 2004 à 17:15
Comment faire pour effacer un dossier avec un contenu a l'interieur ????

rmdir($dossier);

ca suffit pas !

6 réponses

juki_webmaster Messages postés 947 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 5 avril 2008 3
3 déc. 2004 à 18:27
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.
3
aquewel Messages postés 143 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 6 juin 2010
3 déc. 2004 à 19:07
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......
0
cs_windu Messages postés 282 Date d'inscription vendredi 16 mai 2003 Statut Membre Dernière intervention 19 juillet 2006
3 déc. 2004 à 22:34
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!!!
0
darkkat Messages postés 23 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 4 décembre 2004
4 déc. 2004 à 16:51
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 ^^
0

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

Posez votre question
cs_windu Messages postés 282 Date d'inscription vendredi 16 mai 2003 Statut Membre Dernière intervention 19 juillet 2006
4 déc. 2004 à 17:13
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!!!
0
darkkat Messages postés 23 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 4 décembre 2004
4 déc. 2004 à 17:15
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
0
Rejoignez-nous