suppr des fic ds un rép qui est ds un rep... [ - Job's Done - ] - PHP - Programmation
Marsh Posté le 28-02-2003 à 16:42:10
xkamui a écrit : |
Non ?
Marsh Posté le 28-02-2003 à 16:45:43
source : http://www.php.net/manual/en/function.readdir.php
Code :
|
Marsh Posté le 28-02-2003 à 16:49:18
Bon ba non, alors.
Cela dit, à ta place, j'ferais plusieurs trucs :
* vire les @ devant tes fonctions quand t'as une merde. Sinon ça te vire les warnings et les erreurs et ça aide pas au debug.
* fais un echo de ton $dir dans ta boucle comme ça tu sauras où t'en es.
Marsh Posté le 28-02-2003 à 17:00:44
pour les @, je les ai viré
résultat :
Warning: readdir(): supplied argument is not a valid Directory resource in c:\program files\easyphp\www\[annonce]\ann\suppr_ann.txt on line 6 |
avec bozo = nom_ser et 1046393344 = ref_moto
Marsh Posté le 28-02-2003 à 20:18:20
Quelle est la valeur de $dir avant le if? il a peut-être une mauvaise tête
Marsh Posté le 01-03-2003 à 00:44:31
hors de la boucle, avant celle-ci :
$dir=img/photos/bozo/1046393344
dans la boucle :
$dir=img/photos/bozo/1046393344
bref, aucune différence... j'suis toujours coincé !!
Marsh Posté le 01-03-2003 à 18:19:44
File le path complet de ton répertoire. Chu certain que c'est une connerie du style. Par exemple, quand t'exécutes ton script, tu sais quel est le répertoire courant ? Passke si c'est pas celui où y a img/photos/bozo/1046393344 comme sous-répertoires, bin c'est forcé qu'il t'envoie chier
Fais un truc genre getcwd() pour connaître le répertoire courant et place-le juste avant l'entrée dans ta boucle.
Marsh Posté le 02-03-2003 à 05:11:36
voici l'arborescence de mon répertoire :
inclusion de getcwd() avant la boucle :
curent folder : c:\program files\easyphp\www\annonces |
inclusion de $dir avant la boucle :
img/photos/bozo/1046393344 |
messages d'érreurs pendant la boucle (infinie...) :
Warning: readdir(): supplied argument is not a valid Directory resource in c:\program files\easyphp\www\annonces\ann\suppr_ann.txt on line 9 |
code php et énumération des lignes :
Code :
|
Marsh Posté le 02-03-2003 à 11:18:28
Essaie avec des \ plutôt que des /
Marsh Posté le 02-03-2003 à 15:45:07
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in c:\program files\easyphp\www\annonces\ann\suppr_ann.txt on line 3 |
Marsh Posté le 02-03-2003 à 18:21:16
xkamui a écrit :
|
il faut doubler les \ dans ta chaine:
03. $dir="img\\photos\\".$PHP_AUTH_USER."\\".$ref."";
Marsh Posté le 02-03-2003 à 19:39:27
si je double, j'obtient le même type d'erreur !!
curent folder : c:\program files\easyphp\www\annonces |
Marsh Posté le 02-03-2003 à 20:55:13
carrement pas la meme erreur...
un coup c la ligne 3, une parse error
Citation : Parse error: parse error, unexpected '\"' in c:\program files\easyphp\www\annonces\ann\suppr_ann.txt on line 3 |
bon c reglé apparemment
maintenant tu as ouvert ton repertoire mais tu narrives pas a le lire
Citation : curent folder : c:\program files\easyphp\www\annonces |
readdir("$dir" ) .. je crois que c l'ID recup retourné par l'opendir quil faut mettre ici et non pas a nouveau le chemin.
bref, lire les msgs derreur, ca a du bon.
Marsh Posté le 02-03-2003 à 22:41:09
Ayé !!! c'est bon !!!!
voilà ce que j'ai fait et qui marche !!!
Code :
|
merci @ tous pour votre aide !!
Marsh Posté le 28-02-2003 à 16:34:38
voilà, j'ai des fichiers qui se trouvent dans ce répertoire :
http://www.monserver.com/img/photos/nom_user/ref_moto
tout mes fichiers sont 'includé' dans mon fichier index.php, donc le fichier qui fait mon unlink aussi.
je voudrais, depuis mon fichier php, qui se trouve à la racine, supprimer tout les fichier du répertoire ref_moto et ce répertoire ensuite...
voilà ce que je fait :
là il me fait une boucle infinie en écrivant :
Warning: readdir(): supplied argument is not a valid Directory resource in c:\program files\easyphp\www\[annonce]\ann\suppr_ann.txt on line 6
> line 6 : while (false !== ($file = readdir($dir)))
Warning: unlink() failed (Permission denied) in c:\program files\easyphp\www\[annonce]\ann\suppr_ann.txt on line 8
> line 8 : if ($file!="." || $file!=".." ){unlink ("$file" );}
nota : j'ai essayé en mettant 'while (false !== ($file = readdir("$dir")))' mais sans améliorations...
vous pouvez m'aider parce que là, je nage grave grave grave...
Message édité par xkamui le 02-03-2003 à 22:41:54