Foros del Web » Programando para Internet » PHP »

Contar archivos en directorios

Estas en el tema de Contar archivos en directorios en el foro de PHP en Foros del Web. Hola gente.. estoy tratando de armar un script que me permita contar la cantidad de archivos que hay dentro de un directorio. Estoy medio perdido, ...
  #1 (permalink)  
Antiguo 31/12/2006, 19:33
 
Fecha de Ingreso: noviembre-2004
Mensajes: 75
Antigüedad: 19 años, 5 meses
Puntos: 0
Contar archivos en directorios

Hola gente.. estoy tratando de armar un script que me permita contar la cantidad de archivos que hay dentro de un directorio.
Estoy medio perdido, ya que dentro de un directorio hay subdirectorios con archivos.. mi idea es armar un script que me permita saber la cantidad de archivos que hay en esos subdirectorios, pero estoy medio perdido, ya que logro contar los archivos del directorio, pero no los de los subdirectorios.

Muchas Gracias
F
  #2 (permalink)  
Antiguo 31/12/2006, 22:17
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 18 años, 9 meses
Puntos: 3
Re: Contar archivos en directorios

habria que ver tu codigo, pues puedes diferencia un file de un directorio,
mediante su funcion is_file......

seria bueno que pusieras el codigo asi podemos armar mas tu codigo.!
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
  #3 (permalink)  
Antiguo 01/01/2007, 14:44
 
Fecha de Ingreso: noviembre-2004
Mensajes: 75
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: Contar archivos en directorios

Hola, muchas gracias por tu respuesta.
Básicamente el código que utilizao para contar los archivos de un directorio sería el siguiente:
Código PHP:
<?
$dir 
"/carpeta";
$dh  opendir($dir);
while (
false !== ($nombre_archivo readdir($dh))) {
   
$archivos[] = $nombre_archivo;
}

$total_archivos count($archivos);
$total $total_archivos-2;  
?>
Ahora mi idea sería contar los archivos que se encuentren en subdirectorios y sumarlos con los del directorio.

ej:
Lugares/ (directorio)
.. Lugares 1/ (subdirectorio)
.. Lugares 2/ (subdirectorio)
.. uno.gif (archivo dentro de directorio)
.. dos.gif (archivo dentro de directorio)

Saludos
  #4 (permalink)  
Antiguo 01/01/2007, 16:44
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 18 años, 9 meses
Puntos: 3
Re: Contar archivos en directorios

a pues mira, seria muy facil.... bueno seria un script basico, aun tienes que mejorar algunas cosas ahi, pero la idea seria mas o menos asi.
Código PHP:
<?
$dir 
"/carpeta";
$dh  opendir($dir);
while (
false !== ($nombre_archivo readdir($dh))) {
   
$archivos[] = $nombre_archivo;
   if( 
is_dir($nombre_archivo) )
    {
               
$contdir++;
               
y aqui te vuelves a ciclar como el while de arriba....
     }
}

$total_archivos count($archivos);
$total $total_archivos-2;  
?> 
la cosa es que al final, tendras el contador de archivos y contador de subdirectorios... y ya podras hacer tu calculos y hacer la sumas y restas correspondientes...

el problema aqui es que, solo revisa en un primer subnivel el conteo de directorios, pork k pasa si ese subdirectorio contiene otro subdirecorio y asi sucesivamente...

entonces lo que se me ocurre es una funcion recursiva......
que se llame, asi misma....
disculpa pero no ando en mi escritorio... saludos.. !
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"

Última edición por vevni; 01/01/2007 a las 16:45 Razón: pork yo quiero
  #5 (permalink)  
Antiguo 01/01/2007, 17:10
 
Fecha de Ingreso: noviembre-2004
Mensajes: 75
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: Contar archivos en directorios

vevni, probaré el código que pusiste.
en este caso no hay subdirectorios dentro de subdirectorios, asi que no habrá problema.
Muchas gracias!

F
  #6 (permalink)  
Antiguo 01/01/2007, 21:01
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Re: Contar archivos en directorios

Cita:
Iniciado por vevni Ver Mensaje
a pues mira, seria muy facil.... bueno seria un script basico, aun tienes que mejorar algunas cosas ahi, pero la idea seria mas o menos asi.
Código PHP:
<?
$dir 
"/carpeta";
$dh  opendir($dir);
while (
false !== ($nombre_archivo readdir($dh))) {
   
$archivos[] = $nombre_archivo;
   if( 
is_dir($nombre_archivo) )
    {
               
$contdir++;
               
y aqui te vuelves a ciclar como el while de arriba....
     }
}

$total_archivos count($archivos);
$total $total_archivos-2;  
?> 
la cosa es que al final, tendras el contador de archivos y contador de subdirectorios... y ya podras hacer tu calculos y hacer la sumas y restas correspondientes...

el problema aqui es que, solo revisa en un primer subnivel el conteo de directorios, pork k pasa si ese subdirectorio contiene otro subdirecorio y asi sucesivamente...

entonces lo que se me ocurre es una funcion recursiva......
que se llame, asi misma....
disculpa pero no ando en mi escritorio... saludos.. !

Uhmm.. ese código me suena.

Concretamente lo posteé aquí:
http://www.forosdelweb.com/f18/calcular-numero-archivos-carpeta-448401/

Las soluciones para PHP 4.x y PHP 5.x.

Suerte

PD: Gracias por nombrarme

Última edición por david_M_G; 01/01/2007 a las 21:07
  #7 (permalink)  
Antiguo 01/01/2007, 21:48
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 18 años, 9 meses
Puntos: 3
Re: Contar archivos en directorios

jajja, pues ya ves que los amigos del foro su buscan, bueno algunos, si lo dices por mi, yo solo copie su ejemplo de el y le puse lo del is_dir....... asi k si lo dices por mi, pues no copie tu codigo.-!!!

jejje!
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
  #8 (permalink)  
Antiguo 01/01/2007, 22:09
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Re: Contar archivos en directorios

Cita:
Iniciado por vevni Ver Mensaje
jajja, pues ya ves que los amigos del foro su buscan, bueno algunos, si lo dices por mi, yo solo copie su ejemplo de el y le puse lo del is_dir....... asi k si lo dices por mi, pues no copie tu codigo.-!!!

jejje!

oooups! No ví que fue el autor del post el mismo que lo ha copiado. En fín, me alegro de haber servido de ayuda para más gente.
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 06:25.