Supprimer un dossier

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Supprimer un dossier

par Zenerox » 06 sept. 2007, 11:24

Bon j'y suis arrivé je vous remercie tous pour votre aide!

par fab » 06 sept. 2007, 11:20

Erf, et moi qui parlait de fichier caché :)
Note pour moi-même windows powa !

par Ryle » 06 sept. 2007, 10:42

ok, alors le Thumbs.db est un fichier système qui correspond en gros aux miniatures que produit windows lorsque tu choisis un affichage en "miniature" dans le dossier (il met les vignettes en cache dans ce fichier pour pouvoir les afficher plus rapidement la fois suivante)

Tu ne devrais pas avoir ce soucis une fois en ligne, puisque tu n'auras pas de consultation du dossier, le serveur (qui sera sans doute de l'unix) ne générera pas ce fichier.

Cependant afin d'être tranquille, tu peux tester la présence de ce fichier avec is_file() ou file_exists() pour le dégager avant de supprimer le dossier.

Une autre solution serait encore de garder ton script opendir() et de l'utiliser pour supprimer tous les fichiers contenus dans le dossier avant de le supprimer. Tu évites ainsi la requête qui n'est finalement pas utile, le but étant de toute façon de purger le dossier de tous les fichiers qu'il contient :)

par Zenerox » 06 sept. 2007, 10:24

Il y a effectivement un Thumbs.db qui apparait mais il n'est pas visible depuis le dossier...
Ps : mon site n'est pas encore hébergé, il est encore sur mon ordi ( d'ailleurs si tu connais un bon hébergeur pas trop cher avec minimum 1 Go d'espace disk, 1 nom de domaine, Mysql, et référencement si possible fais moi signe :wink: )

par Ryle » 06 sept. 2007, 10:06

C'est une ligne de commande unix que tu peux exécuter avec la fonction exex() de php, mais euh.. c'est peut être un peu violent quand même :)

Est-ce que tu peux supprimer le dossier si tu te connectes par ftp ?
peut être est-ce un dossier/fichier que tu as ouvert avec un opendir et que tu n'as pas fermé ?

Ajoute un opendir()/readdir() avant de supprimer le dossier pour lister les fichiers et dossiers qu'il contient, peut être verras-tu quelque chose qui cloche ?

par Zenerox » 06 sept. 2007, 09:28

Peux tu donner un exemple concret stp?
Et quelle est la syntaxe avec rm -r photoperso/Zenerox?

par Sékiltoyai » 05 sept. 2007, 22:02

Tu dois faire de la suppression récursive avec rmdir() et unlink().

Ou bien alors tu peux essayer ça à la limite :
‘rm -r photoperso/Zenerox‘;
Quoi flemmard ? :mrgreen:

par Zenerox » 05 sept. 2007, 18:15

Voila le message d'erreur:

Warning: rmdir(photoperso/Zenerox) [function.rmdir]: Directory not empty in C:\wamp\www\presentestesanimaux\Php\supprimecompte.php on line 10

et les dossiers photoperso et photodivers sont à la racine du site

par Ryle » 05 sept. 2007, 17:28

Quel est le message d'erreur exactement ?

Ton script s'exécute bien à la base des dossiers "photoperso" et "photodivers" ?

par zenerox » 05 sept. 2007, 17:13

je n'ai pas crée de dossiers cachés....ce peut il q'il y en ait??

par fab » 05 sept. 2007, 15:33

tu as vérifié que tu n'as pas de fichier caché dans tes dossiers?

Petite remarque tu as des balises PHP pour colorer le code c'est toujours plus pratique :)

Supprimer un dossier

par Zenerox » 05 sept. 2007, 15:19

Bonjour,

je vous montre d'abord mon code:

Code : Tout sélectionner

$pseudo=$_SESSION['pseudo']; $req4="select adresse from photoperso where pseudo='".$pseudo."'"; $result4=mysql_query($req4) or die (mysql_error()); while($data=mysql_fetch_array($result4)){ $fichier=$data['adresse']; unlink($fichier); } rmdir("photoperso/$pseudo"); $req5="select adresse from photodivers where pseudo='".$pseudo."'"; $result5=mysql_query($req5) or die (mysql_error()); while($data2=mysql_fetch_array($result5)){ $fichier2=$data2['adresse']; unlink($fichier2); } rmdir("photodivers/$pseudo"); $req="delete from membre where pseudo = '".$pseudo."'"; $result=mysql_query($req) or die (mysql_error()); $req2="delete from photoperso where pseudo='".$pseudo."'"; $result2=mysql_query($req2) or die (mysql_error()); $req3="delete from photodivers where pseudo='".$pseudo."'"; $result3=mysql_query($req3) or die (mysql_error());
Les fichiers sont bien effacés et mes dossiers sont donc vides cependant j'ai un message d'erreur qui me dit qu'ils ne le sont pas et donc ne sont pas supprimés.
Voyez-vous où est mon erreur please?