Foros del Web » Programando para Internet » PHP »

¿Como contar subcarpetas?

Estas en el tema de ¿Como contar subcarpetas? en el foro de PHP en Foros del Web. Hola a todos. Tengo una duda. ¿Como puedo contar la cantidad de subcapetas que tiene un directorio? Por ejemplo: Supongames que una carpeta "x" tiene ...
  #1 (permalink)  
Antiguo 11/01/2009, 16:53
 
Fecha de Ingreso: enero-2008
Mensajes: 11
Antigüedad: 16 años, 3 meses
Puntos: 0
Pregunta ¿Como contar subcarpetas?

Hola a todos. Tengo una duda. ¿Como puedo contar la cantidad de subcapetas que tiene un directorio?
Por ejemplo:
Supongames que una carpeta "x" tiene 2 subcarpetas, como hago para contar esas dos carpetas, ya que en el futuro se crearán mas subcarpetas.
Muchas gracias
  #2 (permalink)  
Antiguo 11/01/2009, 17:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ¿Como contar subcarpetas?

con una función recursiva, iteras los archivos/carpeta de x y cuando sea de nuevo un directorio, recursas y así sucesivamente...

bien, también necesitas un contador... que se incremente por cada carpeta escaneada...

una variable estática puede funcionar... suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 11/01/2009, 18:24
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: ¿Como contar subcarpetas?

phuais:

Primero abres la carpeta con opendir,
despues lees la carpeta con readdir utilizando while;
dentro del while tienes a tu disposicion las funciones
is_dir e is_file para separar
lo que hay dentro osea saber si es una carpeta o es un fichero!!!.
Para saber cuantas hay de cada tipo pues creas fuera del while dos contadores,
uno, por ejemplo, $w = 0; y otro $x = 0; y los incrementas cada vez que se revisa
el o la carpeta, dentro del while!!!

Saludos
Franco
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 15:57.