Effacer un répertoire et son contenu, fichiers et sous répertoires

5/5 (16 avis)

Snippet vu 10 879 fois - Téléchargée 220 fois

Contenu du snippet

Tout d'abord, ce script n'est pas de moi, je l'avais demandé dans le forum de comment ça marche et un certains bibou1324 ma l'avait posté :
http://www.commentcamarche.net/forum/affich-3601689-php-suppression-repertoire?#13
J'ai tellement galéré avec des fichiers et des répertoires récalcitrants, des htaccess qui font ch...
Et comme je sais que je ne suis pas le seul, et que ce code pourtant simple est très difficile à trouver, le voilà !
Pour l'utiliser :
- L'ouvrir avec votre éditeur préféré (moi c'est notepad++) et le sauver sur votre disque dur efface.php par exemple
- mettre à la deuxième ligne entre les guillemets le nom du répertoire à effacer
- si votre répertoire à effacer à l'adresse http://monsite.free.fr/répertoire à effacer, l'envoyer au répertoire juste avant c'est à dire : http://monsite.free.fr
- et le lancer sur votre navigateur préféré par : http://monsite.free.fr/efface.php
- c'est effacé, chez free, apparaitra un nouveau répertoire à la place : trash, qui est vide. Chez free impossible d'effacer un répertoire en php donc le script le renomme, mais il est vide.
        • ATTENTION **** ça efface vraiment tout ce qu'il y a dans le répertoire !

Je sais, c'est détaillé, c'est pour les débutants comme moi qui ont besoin de détails.

Source / Exemple :


<?php
$a_del = "essai";  // <- nom du répertoire à effacer

clearDir($a_del);
function clearDir($dossier) {
	$ouverture=opendir($dossier);
	if (!$ouverture) return false;
	while($fichier=readdir($ouverture)) {
		if ($fichier == '.' || $fichier == '..') continue;
			if (is_dir($dossier."/".$fichier)) {
				$r=clearDir($dossier."/".$fichier);
				if (!$r) return false;
			}
			else {
				$r=unlink($dossier."/".$fichier);
				if (!$r) return false;
			}
	}
closedir($ouverture);
$r=rmdir($dossier);
rename($dossier,"trash");
return true;
}
?>

Conclusion :


Indispensable, je l'ai toujours sous la main, j'essaye beaucoup de scripts....

A voir également

Ajouter un commentaire Commentaires
x31p24 Messages postés 19 Date d'inscription mercredi 5 octobre 2005 Statut Membre Dernière intervention 28 décembre 2020
30 oct. 2008 à 14:22
Voilà, j'ai essayé et c'est vrai que c'est mieux.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 42
30 oct. 2008 à 12:34
remplacer :
if (!$ouverture) return;
par :
if (!$ouverture) return false;
virer tes @ a la fin, virer ton rename.
x31p24 Messages postés 19 Date d'inscription mercredi 5 octobre 2005 Statut Membre Dernière intervention 28 décembre 2020
30 oct. 2008 à 01:45
bon, bon, ne nous énervons pas, et viking force n'aurais pas mieux exprimé que moi ce que je voulais dire, la preuve, je suis d'accord avec le fond coucou747, mais pas la forme, et je le répète, 10/10 j'ai validé le code sans avoir vu la note, et je vois pas comment y remédier, je mettrais 0 si tu veux, tout ce que je voulais, c'était partager un code qui m'est bien utile en pensant qu'il serait utile à quelqu'un d'autre, c'est tout, si tu veux que je fasse des modifs, je les fais sans broncher illico pour le bonheur de ceux qui l'utiliseront, sans dèc, mais je suis pas un pro, il faut me l'écrire clairement, et je fais. Baltringue va...non je déconne, allez, envois la sauce, je change quoi ?
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 42
29 oct. 2008 à 11:38
l'insulte etait ici :
Commentaire de x31p24 le 22/10/2008 00:18:21
bon je vois que j'ai à faire à des baltringues, précision :

Le 10/10 n'etait pas merite. N'importe qui qui code un minimum en php l'aurais compris en lisant le code, d'ou ma conclusion : il n'a pas lu le code.

mettre 10/10 en disant : "ca marche", je ne vois pas trop l'interret de la chose, au final, on se trouve avec des sources de mauvaise qualite qui sont a 10/10...

viking_force, Quand on fait du rapport d'erreurs pour un projet libre, ou quand on rapporte des "choses louches" dans le code (comme je le fais ici), on ne se prend pas autant d'insultes... En general, les gens sont contents qu'on leur explique ce qui ne va pas dans leur code.
viking_force Messages postés 31 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 29 octobre 2008
29 oct. 2008 à 11:24
salut tlm,

je reviens pas sur le code....juste un petit com sur le comportement...

Coucou747, c'est pas la 1er fois que je remarque que tes propos (même s'il sont utiles) sont dit sur un ton qui semble être agressif, autaint, méprisant...Ca peut être très mal pris et donc générer de l'agressivité dans les réponses (mais a voir tu t'en tape de ça)

Pourquoi l'autre a mis 10 a sa source ?? et alors ? il a le droit d'y mettre 10 s'il a envie non ?? il a surement une bonne raison de le faire...

>>qqn note 10 sans meme lire le code

et bé, t'es dieu sur terre pour tout savoir ainsi ?? comment tu peut te permettre de dire qu'il ne l'a pas lu ?

et entre ton com du 22/10/2008 et du 29/10/2008 tu peux me dire où il t'insulte ???
(ouais enfin perso si tu m'insultes comme ca, jvais pas t'aider longtemps... )

J'ai pas grand chose contre toi, car il est vrai que tu apporte bcp a ce site, mais des fois tu "aide" les gens d'une manière qui énerve et qui te fait passer pour qq1 que tu n'est peut être pas (un gros con méprisant)

Alors il se peux que tu soit stressé a cause de ton entourage, mais nous on est pas au courant, et très franchement, ça motive pas de lire des com qui ne servent a rien a part être méprisant (ce qui incite les autre a être agressif)

La manière de le dire importe beacoup....sur ce le prend pas mal, tout comme les erreur de prog faut savoir reconnaitre ses erreurs de comportement, y'a que comme ça qu'on progresse.... :)
Afficher les 16 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.