Php [suppression répertoire]
Fermé
neointhematrix
Messages postés
72
Date d'inscription
mardi 13 février 2007
Statut
Membre
Dernière intervention
4 février 2010
-
17 sept. 2007 à 12:02
jmb - 7 mai 2014 à 19:06
jmb - 7 mai 2014 à 19:06
A voir également:
- Php [suppression répertoire]
- Forcer suppression fichier - Guide
- Easy php - Télécharger - Divers Web & Internet
- Répertoire téléphonique gratuit - Télécharger - Bureautique
- Suppression page word - Guide
- Suppression cookies - Guide
17 réponses
YA-HA
Bon désolé d'up ce post. Mais il se trouve que je viens de trouver un moyen de supprimer les répertoires (même non vide!!!) chez free. Comme quoi à force de bidouiller ... Je sais le post date un peu mais je pense que ça pourra aider des gens. Voici la fonction donc :
En fait tout est dans la ligne : @rename($dossier,"trash");
Et oui la fonction permettant de renommer les dossiers n'est pas désactivée ! Et si on renomme deux dossier vides avec un même nom un des deux dossiers sera supprimé.
Bon par contre je comprends pas pourquoi il arrive à supprimer le dernier dossier. Si quelqu'un pouvait m'expliquer ce que j'ai trouvé par hasard ...
J'espère que ce sera utile
Bon désolé d'up ce post. Mais il se trouve que je viens de trouver un moyen de supprimer les répertoires (même non vide!!!) chez free. Comme quoi à force de bidouiller ... Je sais le post date un peu mais je pense que ça pourra aider des gens. Voici la fonction donc :
function clearDir($dossier) { $ouverture=@opendir($dossier); if (!$ouverture) return; 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; }
En fait tout est dans la ligne : @rename($dossier,"trash");
Et oui la fonction permettant de renommer les dossiers n'est pas désactivée ! Et si on renomme deux dossier vides avec un même nom un des deux dossiers sera supprimé.
Bon par contre je comprends pas pourquoi il arrive à supprimer le dernier dossier. Si quelqu'un pouvait m'expliquer ce que j'ai trouvé par hasard ...
J'espère que ce sera utile
bibou1324
Messages postés
11
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
5 août 2009
3
16 sept. 2008 à 19:26
16 sept. 2008 à 19:26
Bon je vais essayer d'être clair :
Un seul fichier php, dans le même répertoire que le dossier à supprimer. Ce fichier php contient (remplacer "Nom_du_dossier_a_supprimer" par le nom du dossier à supprimer):
Un seul fichier php, dans le même répertoire que le dossier à supprimer. Ce fichier php contient (remplacer "Nom_du_dossier_a_supprimer" par le nom du dossier à supprimer):
<?php $a_del = "Nom_du_dossier_a_supprimer"; // <- c'est ici qu'on remplace clearDir($a_del); function clearDir($dossier) { $ouverture=@opendir($dossier); if (!$ouverture) return; 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; } ?>
Bonjour a toi,
a priori je dirais que le cause est le " Thumbs.db " qui se créé automatiquement. Ma solution pour supprimer un repertoire sans échec :
$chemin = "chemin_du_repertoire";
$dir = opendir($chemin);
while($file = readdir($dir)) {
unlink($chemin . "/" . $file);
}
closedir($dir);
rmdir($chemin);
a priori je dirais que le cause est le " Thumbs.db " qui se créé automatiquement. Ma solution pour supprimer un repertoire sans échec :
$chemin = "chemin_du_repertoire";
$dir = opendir($chemin);
while($file = readdir($dir)) {
unlink($chemin . "/" . $file);
}
closedir($dir);
rmdir($chemin);
Rha bon j'ai trouvé
Oui en fait il reste bien un répertoire à la fin. Je regardais juste pas au bon endroit. Enfin bon ça permet de supprimer les répertoires en cascade quand même. J'ai pas perdu ma journée.
Oui en fait il reste bien un répertoire à la fin. Je regardais juste pas au bon endroit. Enfin bon ça permet de supprimer les répertoires en cascade quand même. J'ai pas perdu ma journée.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
voici un explication pourquoi ca ne marche pas chez free !
https://linuxfr.org/users/aspyrine/journaux/free-ou-la-gestion-des-fonctions-interdites-en-php
mobilisez vous !!!!
voici un explication pourquoi ca ne marche pas chez free !
https://linuxfr.org/users/aspyrine/journaux/free-ou-la-gestion-des-fonctions-interdites-en-php
mobilisez vous !!!!
bibou1324
Messages postés
11
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
5 août 2009
3
4 sept. 2008 à 08:44
4 sept. 2008 à 08:44
Après vérification, il existait un petit problème avec le php5 qui n'est pas activé par défaut sur free. Je l'ai corrigé dans les téléchargements proposés. Pour ne pas tout réuploader, il suffit en fait de rajouter au début du fichier ".htaccess" la ligne "php 1" pour que tout marche correctement.
Bonsoir et super merci, pour ton script. J'avais un putain de dossier qui me prenet le choux depuis des mois...
Encore une fois merci et bravo !
Encore une fois merci et bravo !
super le script marche avec un dossier correctement désigné
ex <?php
$a_del = "Nom_du_dossier_a_supprimer/Nom_du_dossier_a_supprimer"; // <- c'est ici qu'on remplace
mais ne marche pas sur un répertoire avec plusieurs dossiers :
message
Fatal error: rename(installold/spip192c-old/tmpg/sessions,trash) [<a href='function.rename'>function.rename</a>]: Directory not empty in /mnt/141/sdb/5/a/webmoulin/del_img.php on line 21
une piste ?
ex <?php
$a_del = "Nom_du_dossier_a_supprimer/Nom_du_dossier_a_supprimer"; // <- c'est ici qu'on remplace
mais ne marche pas sur un répertoire avec plusieurs dossiers :
message
Fatal error: rename(installold/spip192c-old/tmpg/sessions,trash) [<a href='function.rename'>function.rename</a>]: Directory not empty in /mnt/141/sdb/5/a/webmoulin/del_img.php on line 21
une piste ?
kapack
Messages postés
179
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
21 août 2012
12
11 nov. 2009 à 01:13
11 nov. 2009 à 01:13
ratai je crois que le problème vient d'un fichier avec un nom contenant des caractère non standard, si c'est ça, c'est vraiment la merde, j'ai eu ce problème, impossible de trouver la réponse.
avec windows en ftp tu peux transférer ces fichiers nommés instandarmment sur ton serveur free par exemple, mais comme c'est du linux et à ce que j'ai compris linux et windows ne se comprennent pas bien sur ce point.
avec windows en ftp tu peux transférer ces fichiers nommés instandarmment sur ton serveur free par exemple, mais comme c'est du linux et à ce que j'ai compris linux et windows ne se comprennent pas bien sur ce point.
neointhematrix
Messages postés
72
Date d'inscription
mardi 13 février 2007
Statut
Membre
Dernière intervention
4 février 2010
14
17 sept. 2007 à 12:10
17 sept. 2007 à 12:10
Alors précision, je le testai direct sur le serveur de free et ca marchait pas mais en local ca marche bien.
Une idée du pourquoi ca marche pas sous free?
Une idée du pourquoi ca marche pas sous free?
kapack
Messages postés
179
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
21 août 2012
12
1 sept. 2008 à 01:32
1 sept. 2008 à 01:32
oui, bien util, mais je débute en php, comment l'utiliser, je cherche un script simple pour supprimer un répertoire et ses sous répertoires sur mon site free.
De même je cherche un script qui me dézipe un fichier rar ou zip uploadé par exemple, ça va plus vite d'envoyer un fichier rar ou zip que des milliers de fichiers
De même je cherche un script qui me dézipe un fichier rar ou zip uploadé par exemple, ça va plus vite d'envoyer un fichier rar ou zip que des milliers de fichiers
bibou1324
Messages postés
11
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
5 août 2009
3
1 sept. 2008 à 16:10
1 sept. 2008 à 16:10
Pour l'utiliser c'est pas compliqué : tu copie-colles la fonction que j'ai écrite ci dessus entre les balises php, et tu l'appelle comme ça :
clearDir("Nom_du_dossier_a_supprimer");
c'est tout !
Pour le dézippage (rar j'ai pas trouvé) je me suis déjà posé sur la question. c'est pas facile de trouver un script qui le fasse sur free. J'en utilise un pour mon webOS (ou gestionnaire de fichiers en ligne si ce nom abusif indispose certains), que j'ai trouvé sur https://www.phpclasses.org/
Je sais plus lequel c'est, si tu veux aller voir sur mon projet c'est sur http://zoufios.free.fr (un peu de pub pour son site perso, ça fait jamais de mal :P). Voila !!!
clearDir("Nom_du_dossier_a_supprimer");
c'est tout !
Pour le dézippage (rar j'ai pas trouvé) je me suis déjà posé sur la question. c'est pas facile de trouver un script qui le fasse sur free. J'en utilise un pour mon webOS (ou gestionnaire de fichiers en ligne si ce nom abusif indispose certains), que j'ai trouvé sur https://www.phpclasses.org/
Je sais plus lequel c'est, si tu veux aller voir sur mon projet c'est sur http://zoufios.free.fr (un peu de pub pour son site perso, ça fait jamais de mal :P). Voila !!!
kapack
Messages postés
179
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
21 août 2012
12
1 sept. 2008 à 17:33
1 sept. 2008 à 17:33
Est-ce que c'est ça :
- je colle ta fonction dans un fichier php que j'appelle fonctioneffacer.php, et je crée un autre fichier effacer.php où je mets : <? clearDir("Nom_du_dossier_a_supprimer"); ?>
J'ai mis ton programme zoufios sur mon site pour l'essayer, un autoextractible serait pas mal, genre j'envoie zoofios.php sur le site et quand je le lance, il s'extracte, j'ai déjà vu des script comme ça, ça évite d'avoir des milliers de fichiers à transférer.
Là là, qu'est-ce que je galère à me mettre au php, pourtant dans le temps j'ai pas mal programmé en basic et assembleur.
Aï, zoufios marche pas chez free
- je colle ta fonction dans un fichier php que j'appelle fonctioneffacer.php, et je crée un autre fichier effacer.php où je mets : <? clearDir("Nom_du_dossier_a_supprimer"); ?>
J'ai mis ton programme zoufios sur mon site pour l'essayer, un autoextractible serait pas mal, genre j'envoie zoofios.php sur le site et quand je le lance, il s'extracte, j'ai déjà vu des script comme ça, ça évite d'avoir des milliers de fichiers à transférer.
Là là, qu'est-ce que je galère à me mettre au php, pourtant dans le temps j'ai pas mal programmé en basic et assembleur.
Aï, zoufios marche pas chez free
bibou1324
Messages postés
11
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
5 août 2009
3
3 sept. 2008 à 22:16
3 sept. 2008 à 22:16
si tu veux faire ça en deux fichiers séparés, tu dois mettre dans effacer.php :
zoufios marche chez free normalement. c'est quoi le problème que tu rencontres ?
Sinon pour l'autoextractible je bosse dessus actuellement.
<? include("fonctioneffacer.php"); clearDir("Nom_du_dossier_a_supprimer"); ?>
zoufios marche chez free normalement. c'est quoi le problème que tu rencontres ?
Sinon pour l'autoextractible je bosse dessus actuellement.
kapack
Messages postés
179
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
21 août 2012
12
16 sept. 2008 à 16:10
16 sept. 2008 à 16:10
Bon j'ai toujour un putain de répertoire qui contient d'autres putains de répertoire sur mon site, que je ne peux pas effacer en ftp, alors est-ce que quelqu'un a une solution complète pour débutant à ce genre de problème que beaucoup de monde à ou je dois ouvrir un autre compte vierge ?
C'est dingue, y a pas moyen d'avoir une réponse simple à une question simple, faut toujour qu'une bande de branleurs la ramène avec leur science tout ça pour du code qui marche jamais.
Alors, est-ce que c'est possible d'avoir dans 1 seul fichier en php, de quoi effacer un répertoire et son contenu quel qu'il soit ?
Je sais que c'est possible, mais est-ce que quelqu'un peut m'expliquer comment faire, ou personne ne sait ?
Si vous ne savez pas, pas la peine de me le dire, c'est pas une tare de pas savoir.
C'est dingue, y a pas moyen d'avoir une réponse simple à une question simple, faut toujour qu'une bande de branleurs la ramène avec leur science tout ça pour du code qui marche jamais.
Alors, est-ce que c'est possible d'avoir dans 1 seul fichier en php, de quoi effacer un répertoire et son contenu quel qu'il soit ?
Je sais que c'est possible, mais est-ce que quelqu'un peut m'expliquer comment faire, ou personne ne sait ?
Si vous ne savez pas, pas la peine de me le dire, c'est pas une tare de pas savoir.
kapack
Messages postés
179
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
21 août 2012
12
9 oct. 2008 à 11:43
9 oct. 2008 à 11:43
bibou, je te remerci, ton script marche, il reste le répertoire trash mais je crois que l'on ne peut pas effacer de répertoire en php, en tout cas c'est exactement ce que je cherchais, ça parait simple, mais pour ce trouver ce genre de script, malgré google qui est "mon ami", c'est galère. Une petite suggestion, tu devrais le mettre dans phpscript, ça dépannerait beaucoup de monde.
7 janv. 2010 à 17:51
quand on tappe "supprimer dossier php" dans google c'est le premeir script trouvé...
... sans le "rename"... alros je dis "GG" pour l'astuce :) lol
24 avril 2010 à 19:22
17 avril 2012 à 22:53
J'aimerais vous remercier d'avoir partager ce code , il m'a était utile j'avais le temps et je serais resté bloqué dessus sans votre précieuse aide :)