Erreur de recensement de fichier avec readdir

Erreur de recensement de fichier avec readdir - PHP - Programmation

Marsh Posté le 22-07-2006 à 16:57:25    

Hello  :hello:  
Pour mon site j'ai pensé faire un compteur de fichiers uploadés dans deux dossiers différents, mais le problème est que sur mon pc il démarre en tout avec une base de 4 fichiers au lieu de 0, et sur le net de même.
C'est un double problème car au moment d'afficher ces images il va me ressortir les 4 images manquantes avec un 404 :sweat:  
 
Le code en question : (pour le compteur)
 

Code :
  1. <?php
  2. function compteur() {
  3. $dir1 = opendir('./img/');
  4. $dir2 = opendir('./adb/');
  5. $compt1 = "0";
  6. $compt2 = "0";
  7. while(false !== ($file = readdir($dir1))) {
  8.  $compt1++;
  9. }
  10. closedir($dir1);
  11. while(false !== ($file = readdir($dir2))) {
  12.  $compt2++;
  13. }
  14. closedir($dir2);
  15. $compt = $compt1 + $compt2 ;
  16. echo $compt;
  17. }
  18. ?>


Merci d'avance  :)


---------------
Teh Red Face ftl - Nature Anthem (GW)
Reply

Marsh Posté le 22-07-2006 à 16:57:25   

Reply

Marsh Posté le 22-07-2006 à 17:02:15    

readdir compte les dossier parent et courant c'est pour cela que tu pars avec 4 au lieu de zéro.
 
 

Code :
  1. while(false !== ($file = readdir($dir1)))
  2. {
  3.         if ($file != ('.' || '..'))
  4.         {
  5.                  $compt1++;
  6.         }
  7. }
  8. while(false !== ($file = readdir($dir2)))
  9. {
  10.         if ($file != ('.' || '..'))
  11.         {
  12.                  $compt2++;
  13.         }
  14. }


Message édité par Absyn7he le 22-07-2006 à 17:03:05
Reply

Marsh Posté le 22-07-2006 à 17:08:13    

Merci beaucoup, effectivement ça marche!  :jap:  :love:  
A+


---------------
Teh Red Face ftl - Nature Anthem (GW)
Reply

Marsh Posté le 22-07-2006 à 17:18:01    

Non en fait ca ne marche plus du tout, le compteur reste bloqué à 0 :/


---------------
Teh Red Face ftl - Nature Anthem (GW)
Reply

Marsh Posté le 22-07-2006 à 17:34:55    

J'ai réussi à le faire marcher, mais en modifiant ta condition...  
 

Code :
  1. while(false !== ($file = readdir($dir1))) {
  2.  if ($file != '.' && $file != '..'){
  3.   $compt1++;
  4.  }
  5. }
  6. closedir($dir1);
  7. while(false !== ($file = readdir($dir2))) {
  8.  if ($file != '.' && $file != '..'){
  9.   $compt1++;
  10.  }
  11. }
  12. closedir($dir2);


Merci encore!
 
edit : d'ailleurs je vois pas pourquoi ça marchait pas avant, mais bon.


Message édité par PleT le 22-07-2006 à 17:36:04

---------------
Teh Red Face ftl - Nature Anthem (GW)
Reply

Marsh Posté le 22-07-2006 à 18:03:00    

Au temps pour moi, j'ai mis || au lieu de &&

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed