Foros del Web » Programando para Internet » PHP »

contar archivos en una carpeta

Estas en el tema de contar archivos en una carpeta en el foro de PHP en Foros del Web. ok, me ha tocado tener que hacer esta tarea nuevamente. normalmente lo haría con opendir() y un ciclo de readdir() contando cada carpeta sin contar ...
  #1 (permalink)  
Antiguo 08/06/2011, 12:31
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
contar archivos en una carpeta

ok, me ha tocado tener que hacer esta tarea nuevamente.

normalmente lo haría con opendir() y un ciclo de readdir() contando cada carpeta sin contar los "." y los "..".

sin embargo tengo que actualizarme y sé que hay otra forma nueva de hacerlo más rápida, pero no recuerdo cual era... gatorV o abimaelrc la nombraron hace unos días pero no he podido encontrar el post y cuando busco en internet sale el mismo método que usaba yo XD

espero me ayuden
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #2 (permalink)  
Antiguo 08/06/2011, 12:54
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 5 meses
Puntos: 50
Respuesta: contar archivos en una carpeta

buenas,

Mm nunca e tenido la necesidad de realizar esta labor pero estuve mirando en google y depronto esto le peude servir...Saludos

http://tydw.wordpress.com/2008/06/24...-o-directorio/
  #3 (permalink)  
Antiguo 08/06/2011, 13:08
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 14 años, 3 meses
Puntos: 202
Respuesta: contar archivos en una carpeta

Cita:
Iniciado por stramin Ver Mensaje
ok, me ha tocado tener que hacer esta tarea nuevamente.

normalmente lo haría con opendir() y un ciclo de readdir() contando cada carpeta sin contar los "." y los "..".

sin embargo tengo que actualizarme y sé que hay otra forma nueva de hacerlo más rápida, pero no recuerdo cual era... gatorV o abimaelrc la nombraron hace unos días pero no he podido encontrar el post y cuando busco en internet sale el mismo método que usaba yo XD

espero me ayuden
¿Quizás fuera este post de GatorV?
http://www.forosdelweb.com/f18/cambi...0/#post3879408
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #4 (permalink)  
Antiguo 08/06/2011, 13:09
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 9 meses
Puntos: 209
Respuesta: contar archivos en una carpeta

glob -- Encontrar nombres de ruta coincidentes con un patrón
  #5 (permalink)  
Antiguo 08/06/2011, 13:16
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 9 meses
Puntos: 209
Respuesta: contar archivos en una carpeta

Nota: Esta funcion no funcionara con ficheros remotos ya que el fichero a examinar tiene que estar disponible desde el sistema de ficheros del servidor.
  #6 (permalink)  
Antiguo 08/06/2011, 13:17
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 9 meses
Puntos: 155
Respuesta: contar archivos en una carpeta

yo mas bien lo vi con abimaelrc



http://www.forosdelweb.com/f18/juego...ml#post3879951



ya nomas en lugar de un print_r un count
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #7 (permalink)  
Antiguo 08/06/2011, 13:17
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: contar archivos en una carpeta

Todo depende de lo que quieras hacer, con glob vas a cargar un array para únicamente tirarle un count, si son muchas coincidencias hay mejores opciones, iterators, en tu caso en concreto RecursiveDirectoryIterator + RecursiveFilterIterator.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #8 (permalink)  
Antiguo 08/06/2011, 13:28
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 14 años, 3 meses
Puntos: 202
Respuesta: contar archivos en una carpeta

Cita:
Iniciado por mogurbon Ver Mensaje
yo mas bien lo vi con abimaelrc

http://www.forosdelweb.com/f18/juego...ml#post3879951

ya nomas en lugar de un print_r un count
Es verdad, era en el juego y de abimaelrc.

bueno la fuerza les fluye igual... dos grandes
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #9 (permalink)  
Antiguo 08/06/2011, 15:18
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: contar archivos en una carpeta

Cita:
Iniciado por helacer Ver Mensaje
buenas,

Mm nunca e tenido la necesidad de realizar esta labor pero estuve mirando en google y depronto esto le peude servir...Saludos

http://tydw.wordpress.com/2008/06/24...-o-directorio/
esa misma función, muchas gracias +karma!, solo haría falta ponerle todos los archivos (*)

me resultó así:
Código PHP:
$arch=count(glob("archivos/{*}",GLOB_BRACE)); 
Cita:
Iniciado por IEKK Ver Mensaje
¿Quizás fuera este post de GatorV?
http://www.forosdelweb.com/f18/cambi...0/#post3879408
creo que si era ese mismo, y yo mismo le respondí, no podía recordar cual era!, gracias +karma

Cita:
Iniciado por iviamontes Ver Mensaje
glob -- Encontrar nombres de ruta coincidentes con un patrón
sip sip

Cita:
Iniciado por iviamontes Ver Mensaje
Nota: Esta funcion no funcionara con ficheros remotos ya que el fichero a examinar tiene que estar disponible desde el sistema de ficheros del servidor.
lo supuse, sería bastante malévolo poderlo usar remotamente +karma

y no hagas repost!

Cita:
Iniciado por mogurbon Ver Mensaje
yo mas bien lo vi con abimaelrc

http://www.forosdelweb.com/f18/juego...ml#post3879951

ya nomas en lugar de un print_r un count
vaya, y tambien respondí en ese, que mala memoria tengo +karma

no se como le hicieron para encontrar ambos temas...

Cita:
Iniciado por masterpuppet Ver Mensaje
Todo depende de lo que quieras hacer, con glob vas a cargar un array para únicamente tirarle un count, si son muchas coincidencias hay mejores opciones, iterators, en tu caso en concreto RecursiveDirectoryIterator + RecursiveFilterIterator.

Saludos.
a ver... veamos como operan esas 2...

encontré esto, pero al fínal tambien es una lista:

Código PHP:
$objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::SELF_FIRST); 
foreach(
$objects as $name => $object)
    echo 
"$name\n"
o hay otra forma de usarlo? +karma

Cita:
Iniciado por IEKK Ver Mensaje
Es verdad, era en el juego y de abimaelrc.

bueno la fuerza les fluye igual... dos grandes
masterpuppet viene siendo el otro
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #10 (permalink)  
Antiguo 08/06/2011, 15:57
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: contar archivos en una carpeta

Un iterator no es lo mismo que glob, el primero no carga la estructura completa en memoria, glob sin embargo carga un array completo de todas las coincidencias, no es lo mismo iterar de a uno sobre 1000 elementos a cargar de una sola vez 1000 elementos en un array, y tambien hay que tener en cuenta la recursividad, el iterator que estas utilizando itera(valga la redundancia) de forma recursiva por toda la descendencia mientras que glob no es recursiva perse.

Como te dije antes todo depende de lo que quieras hacer, deberías utilizar glob cuando sabes a ciencia cierta que van a ser pocos resultados, en el resto de casos es mejor opción Iterators.

Como curiosidad hay un GlobIterator
__________________
http://es.phptherightway.com/
thats us riders :)
  #11 (permalink)  
Antiguo 08/06/2011, 16:05
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: contar archivos en una carpeta

ah ok, entonces esa es la diferencia, glob no solo los lista, trae consigo información de los archivos

como curiosidad extra, en ese enlace aparece GlobIterator::count

:O

tantas formas de hacerlo, ya no se cual usar, solo necesito la cantidad, ninguna otra información... +karma

intentaré con

Código PHP:
Ver original
  1. <?php
  2. $iterator = new GlobIterator('*');
  3. $total=$iterator->count();
  4. ?>
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D

Etiquetas: carpetas
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 08:39.