Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2593 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU] vider plusieur sous dossier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] vider plusieur sous dossier

n°1402057
mule_panda
Posté le 06-07-2006 à 15:39:56  profilanswer
 

bonjour, dans un dossier qui s'apel photo jai 26 dosier qui sapel par 1 lettre de l'alphabet. Je souheterais une fonctin php pour les vider tous d'un cout.
 
Je propose ceci  
 

Code :
  1. <?
  2. $dir="C:/www/photo/f";
  3.    if(!$dh = @opendir($dir)) return;
  4.    while (($obj = readdir($dh))) {
  5.     if($obj=='.' || $obj=='..') continue;
  6.     if (!@unlink($dir.'/'.$obj)) RemoveDir($dir.'/'.$obj);
  7.    }
  8.    @closedir($dh); @rmdir($dir);
  9. ?>


Cela ne m'efface que le dossier f. alor j'ai pensé faire un tableau mais sa ne marche pas sur ma boucle for
 

Code :
  1. <?
  2. $arr = array(1 => "a", 2 => "b", 3 => "c", 4 => "d", 5 => "e", 6 => "f", 7 => "g", 8 => "h", 9 => "i", 10 => "j", 11 => "k", 12 => "l", 13 => "m", 14 => "n", 15 => "o", 16 => "p", 17 => "q", 18 => "r", 19 => "s", 20 => "t", 21 => "u", 22 => "v", 23 => "w", 24 => "x", 25 => "y", 26 => "z" );
  3. for ($i=$arr[1]; $i<$arr[26]; $i++){
  4. $dir="C:/www/photo/".arr[i];
  5.    if(!$dh = @opendir($dir)) return;
  6.    while (($obj = readdir($dh))) {
  7.     if($obj=='.' || $obj=='..') continue;
  8.     if (!@unlink($dir.'/'.$obj)) RemoveDir($dir.'/'.$obj);
  9.    }
  10.    @closedir($dh); @rmdir($dir);
  11. }
  12. ?>


 
Notice: Use of undefined constant i - assumed 'i' in c:\www\eff.php on line 7
 
Notice: Undefined index: i in c:\www\eff.php on line 7
 
Fatal error: Call to undefined function: removedir() in c:\www\eff.php on line 12
 
Merci d'avance


Message édité par mule_panda le 06-07-2006 à 16:32:28
mood
Publicité
Posté le 06-07-2006 à 15:39:56  profilanswer
 

n°1402065
AlphaZone
Posté le 06-07-2006 à 15:46:52  profilanswer
 

c'est pas i mais $i

n°1402084
mule_panda
Posté le 06-07-2006 à 16:01:32  profilanswer
 

Code :
  1. <?
  2. $arr = array(1 => "a", 2 => "b", 3 => "c", 4 => "d", 5 => "e", 6 => "f", 7 => "g", 8 => "h", 9 => "i", 10 => "j", 11 => "k", 12 => "l", 13 => "m", 14 => "n", 15 => "o", 16 => "p", 17 => "q", 18 => "r", 19 => "s", 20 => "t", 21 => "u", 22 => "v", 23 => "w", 24 => "x", 25 => "y", 26 => "z" );
  3. for ($i=$arr[1]; $i<$arr[26]; $i++){ 
  4. $dir="C:/www/photo/".$arr[$i];
  5.    if(!$dh = @opendir($dir)) return;
  6.    while (($obj = readdir($dh))) {
  7.     if($obj=='.' || $obj=='..') continue;
  8.     if (!@unlink($dir.'/'.$obj)) RemoveDir($dir.'/'.$obj);
  9.    }
  10.    @closedir($dh); @rmdir($dir);
  11. }
  12. ?>


 
J'ai rajoutez les $ a la ligne 6 =" $dir="C:/www/photo/".arr[i]; "
mais  
 
Notice: Undefined index: a in c:\www\eff.php on line 7
 
Fatal error: Call to undefined function: removedir() in c:\www\eff.php on line 12


Message édité par mule_panda le 06-07-2006 à 16:02:06
n°1402089
guitou12
Dev php à mi-temps :D
Posté le 06-07-2006 à 16:04:33  profilanswer
 

Code :
  1. for ($i=1; $i<=26; $i++)


 
$i et un indice que tu incrémentes or avant tu avais initialisé $i à 'a' donc essaie d'ajouter +1 à a ça marche pas super !
 
Et puis removedir n'existe pas c'est rmdir (enfin en tout cas dans le code ou tu l'as repiqué il devit y avoir une fonction removedir mais c'est pas ton cas là)


Message édité par guitou12 le 06-07-2006 à 16:06:51
n°1402102
mule_panda
Posté le 06-07-2006 à 16:12:38  profilanswer
 

Merci sa marche  :jap: il fallait aussi enlevé la fin du code qui supprimé les dossiers , il me reste une question
 

Code :
  1. <?
  2. $arr = array(1 => "a", 2 => "b", 3 => "c", 4 => "d", 5 => "e", 6 => "f", 7 => "g", 8 => "h", 9 => "i", 10 => "j", 11 => "k", 12 => "l", 13 => "m", 14 => "n", 15 => "o", 16 => "p", 17 => "q", 18 => "r", 19 => "s", 20 => "t", 21 => "u", 22 => "v", 23 => "w", 24 => "x", 25 => "y", 26 => "z" );
  3. for ($i=1; $i<26; $i++){ 
  4. $dir="C:/www/photo/".$arr[$i];
  5. echo $dir;
  6.    if(!$dh = @opendir($dir)) return;
  7.    while (($obj = readdir($dh))) {
  8.     if($obj=='.' || $obj=='..') continue;
  9.     if (!@unlink($dir.'/'.$obj)) unlink($dir.'/'.$obj);
  10.    }
  11. }
  12. ?>


 
à la ligne 14 si on met  if (!@unlink($dir.'/'.$obj)) unlink($dir.'/'.$obj); ou  if (!@unlink($dir.'/'.$obj)) RemoveDir($dir.'/'.$obj); cela change quoi???

n°1402113
AlphaZone
Posté le 06-07-2006 à 16:25:06  profilanswer
 

On t'a dit que ce n'était pas removedir mais rmdir !
 
http://www.php.net/rmdir
http://www.php.net/unlink
 
Cherche un peu coco

n°1402114
guitou12
Dev php à mi-temps :D
Posté le 06-07-2006 à 16:26:25  profilanswer
 

avec ca

Code :
  1. for ($i=1; $i<26; $i++){

tu ne passeras jamais dans la derniére case de ton tableau
 
Quand à ta question : ben tu fais pas appel aux mêmes fonctions donc forcément c'est différent  :sol:

n°1402119
mule_panda
Posté le 06-07-2006 à 16:32:05  profilanswer
 

dsl jaurais du cherché moi même, toute mes excuses, et si aprés des test la fonction passe bien par la ligne a. MErci de votre aide et pour votre rapidité a repondre  :jap:

n°1402128
AlphaZone
Posté le 06-07-2006 à 16:36:36  profilanswer
 

Pas de problème ;)

n°1402130
guitou12
Dev php à mi-temps :D
Posté le 06-07-2006 à 16:37:19  profilanswer
 

guitou12 a écrit :

avec ca

Code :
  1. for ($i=1; $i<26; $i++){

tu ne passeras jamais dans la dernière case de ton tableau
 
Quand à ta question : ben tu fais pas appel aux mêmes fonctions donc forcément c'est différent  :sol:


 
Relis au dessus


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU] vider plusieur sous dossier

 

Sujets relatifs
[Résolu] Fusionner plusieurs feuilles en une seule[Résolu]Affichage ou non d'un scrollBar
[RESOLU] concatenation[Résolu] Génération fichier PDF depuis fichier XML, en utilisant FOP
[résolu] Passage de variable javascript vers flash avec iframe[Résolu] [Eclipse] Un peu d'ordre !
[RESOLU] Javascript/DOM -> enlever des tags[résolu]fixer colonne
Couper une image pour en faire une vignette[résolu][Résolu][PHP] Problème avec header()
Plus de sujets relatifs à : [RESOLU] vider plusieur sous dossier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR