Foros del Web » Programando para Internet » PHP »

Contar archivos en subcarpetas

Estas en el tema de Contar archivos en subcarpetas en el foro de PHP en Foros del Web. Buenas amigo aca me encuentro con un problemilla, como veran este liste que se vea la cantidad de carpetas que se encuentra un directorio y ...
  #1 (permalink)  
Antiguo 20/03/2007, 00:17
 
Fecha de Ingreso: octubre-2004
Ubicación: Lima, Perú
Mensajes: 185
Antigüedad: 19 años, 5 meses
Puntos: 1
Contar archivos en subcarpetas

Buenas amigo aca me encuentro con un problemilla, como veran este liste que se vea la cantidad de carpetas que se encuentra un directorio y a la vez hize que cuente las imagenes como jpg, gif, png q' se encuentran en subcarpetas y que se vea en la pagina, pero mi problema es que en vez de que cuente el archivo lo suma, osea en vez de verse asi:

carpeta1 tiene 30 imagenes en 3 subcarpetas
carpeta2 tiene 4 imagenes en 20 subcarpetas
carpeta3 tiene 25 imagenes en 1 subcarpeta

Se ve de esta manera

carpeta1 tiene 30 imagenes en 3 subcarpetas
carpeta2 tiene 34 imagenes en 20 subcarpetas
carpeta3 tiene 59 imagenes en 1 subcarpeta

Aca les dejo el codigo y vean que puedo corregir y modificar a la vez, se los agradeceria mucho
Código PHP:
if($id==NULL){
$dir=opendir($galeria);//ABRIMOS LAS CARPETAS
$total_imagenes_contando=0;
while(
$archivos=readdir($dir)){//HACEMOS LISTADO DE ARCHIVOS
if($archivos!="." and $archivos!=".." and $archivos!=" "){
$lista_carpetas[].="$archivos";
    }    
}
closedir($dir);

sort($lista_carpetas);
foreach (
$lista_carpetas as $archivos) {
if(
$accion == "" ){
    
$dir=opendir("$galeria/$archivos");
    
$i=0;
    while(
$carpeta readdir($dir)){
    if(
$carpeta!="." and $carpeta!=".." and $carpeta!=" "){
         
$venga=0;
             
$numeroimagenes=@opendir("$galeria/$archivos/$carpeta");
             while(
$total = @readdir($numeroimagenes)){
             if(
ereg(".htm|.html",$total)){
             }else{
             if(
ereg(".gif|.jpg|.jpeg|.wbmp|.bmp|.GIF|.JPG|.JPEG|.WBMP",$total)){
             
$venga++;
                  }
              }
             }
             @
closedir($numeroimagenes);
     
$vengaahora=$venga+$vengaahora;
             
$i++; 
       }
       }
       
$a=$vengaahora+$a;
       
closedir($dir);
       echo 
'<b><A HREF="'.$archivos.'/">'.ucwords(strtolower($archivos)).'</A></b> <i>&raquo; contamos con más '.$vengaahora.' imagenes en '.$i.' galerias</i><br>';   
           }
    }
    echo 
'<br><center><b>Contamos con mas '.$a.' imagenes en total</b></center><br>';     

  #2 (permalink)  
Antiguo 20/03/2007, 10:46
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: Contar archivos en subcarpetas

Despues que imprimes
Código PHP:
echo '<b><A HREF="'.$archivos.'/">'.ucwords(strtolower($archivos)).'</A></b> <i>&raquo; contamos con más '.$vengaahora.' imagenes en '.$i.' galerias</i><br>'
Debes reiniciar el contador $vengaahora=0;

quedaria

Código PHP:
if($id==NULL){
$dir=opendir($galeria);//ABRIMOS LAS CARPETAS
$total_imagenes_contando=0;
while(
$archivos=readdir($dir)){//HACEMOS LISTADO DE ARCHIVOS
if($archivos!="." and $archivos!=".." and $archivos!=" "){
$lista_carpetas[].="$archivos";
    }    
}
closedir($dir);

sort($lista_carpetas);
foreach (
$lista_carpetas as $archivos)
{
if(
$accion == "" ){
    
$dir=opendir("$galeria/$archivos");
    
$i=0;
    while(
$carpeta readdir($dir)){
    if(
$carpeta!="." and $carpeta!=".." and $carpeta!=" "){
         
$venga=0;
             
$numeroimagenes=@opendir("$galeria/$archivos/$carpeta");
             while(
$total = @readdir($numeroimagenes)){
             if(
ereg(".htm|.html",$total)){
             }else{
             if(
ereg(".gif|.jpg|.jpeg|.wbmp|.bmp|.GIF|.JPG|.JPEG|.WBMP",$total)){
             
$venga++;
                  }
              }
             }
             @
closedir($numeroimagenes);
     
$vengaahora=$venga+$vengaahora;
             
$i++; 
       }
       }
       
$a=$vengaahora+$a;
       
closedir($dir);
       echo 
'<b><A HREF="'.$archivos.'/">'.ucwords(strtolower($archivos)).'</A></b> <i>&raquo; contamos con más '.$vengaahora.' imagenes en '.$i.' galerias</i><br>';   
           }
           
$vengaahora=0;
    }
    echo 
'<br><center><b>Contamos con mas '.$a.' imagenes en total</b></center><br>';     




Saludos
  #3 (permalink)  
Antiguo 20/03/2007, 18:05
 
Fecha de Ingreso: octubre-2004
Ubicación: Lima, Perú
Mensajes: 185
Antigüedad: 19 años, 5 meses
Puntos: 1
Re: Contar archivos en subcarpetas

Muchas gracias man, me ha funcionado
  #4 (permalink)  
Antiguo 20/03/2007, 19:58
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 10 meses
Puntos: 35
Re: Contar archivos en subcarpetas

Otra cosa, como comentario.. en lugar de ereg puedes usar eregi, asi no importa la extension en mayusculas o minusculas o.o..

Esto
Código PHP:
ereg(".gif|.jpg|.jpeg|.wbmp|.bmp|.GIF|.JPG|.JPEG|.WBMP",$total
Pasa a ser esto:
Código PHP:
eregi(".gif|.jpg|.jpeg|.wbmp|.bmp",$total
__________________
Sin Ideas
  #5 (permalink)  
Antiguo 20/03/2007, 22:24
 
Fecha de Ingreso: octubre-2004
Ubicación: Lima, Perú
Mensajes: 185
Antigüedad: 19 años, 5 meses
Puntos: 1
Re: Contar archivos en subcarpetas

No me habia percatado, muchas gracias
__________________
VkManga.Com
De todo un Poco
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:41.