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....
if (!$ouverture) return;
par :
if (!$ouverture) return false;
virer tes @ a la fin, virer ton rename.
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.
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.... :)
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.