Foros del Web » Programando para Internet » PHP »

Contador de los jpg que hay en una carpeta

Estas en el tema de Contador de los jpg que hay en una carpeta en el foro de PHP en Foros del Web. necesito contar los jpg de una carpeta... pero en esa carpeta hay otros archivos... ademas necesito tambien saber los nombres de todos los jpg... si ...
  #1 (permalink)  
Antiguo 18/12/2007, 23:58
 
Fecha de Ingreso: diciembre-2007
Mensajes: 75
Antigüedad: 16 años, 4 meses
Puntos: 0
Contador de los jpg que hay en una carpeta

necesito contar los jpg de una carpeta... pero en esa carpeta hay otros archivos...
ademas necesito tambien saber los nombres de todos los jpg...

si alguien me ayudara se lo agradeceria
  #2 (permalink)  
Antiguo 19/12/2007, 05:26
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: Contador de los jpg que hay en una carpeta

En este mismo foro encontraras info para dar los primeros pasos... Hay un código de ejemplo que tan solo tendrias que trabajar / adaptar un poco para que se ajuste a tus necesidades

http://www.forosdelweb.com/f18/calcu...arpeta-448401/

Saludos
  #3 (permalink)  
Antiguo 19/12/2007, 09:07
 
Fecha de Ingreso: diciembre-2007
Mensajes: 75
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Contador de los jpg que hay en una carpeta

ya habia visto ese post y esta decidido a trabajar con scandir(); pero mi problema es que hay archivos html jpg rar... en la carpeta.. pero yo necesito solo contar los jpg
  #4 (permalink)  
Antiguo 19/12/2007, 09:24
 
Fecha de Ingreso: mayo-2005
Mensajes: 72
Antigüedad: 18 años, 10 meses
Puntos: 1
Re: Contador de los jpg que hay en una carpeta

buenas, modificando el codigo del otro post va de la siguiente manera!

Código PHP:
<?php
$dir 
"/carpeta";
$dh  opendir($dir);
$total_jpg 0;
while (
false !== ($nombre_archivo readdir($dh))) {
  if (
substr(strtolower($nombre_archivo),-4) == ".jpg") {
    
$total_jpg++;
    }


?>
listo,
__________________
Diseñador Gráfico / Programador PHP / Cisco Certified Network Associate (CCNA) / CSS / Java Scripting / SQL / C-Scripting / Entre otros...

:cool:
BOX
  #5 (permalink)  
Antiguo 19/12/2007, 09:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Contador de los jpg que hay en una carpeta

Tambien puedes usar:
Código PHP:
$dir "/carpeta";
$files glob"$dir/*.jpg" );
$total count$files ); 
Saludos.
  #6 (permalink)  
Antiguo 19/12/2007, 13:52
 
Fecha de Ingreso: diciembre-2007
Mensajes: 75
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Contador de los jpg que hay en una carpeta

GatorV dime en ese codigo... como se los nombres????

= en el otro xD
  #7 (permalink)  
Antiguo 19/12/2007, 14:02
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Contador de los jpg que hay en una carpeta

En el de GatorV ni idea, pero en el otro... quizás te de una pista la variable que se llama "$nombrearchivo", pero es sólo una idea, eh?
  #8 (permalink)  
Antiguo 19/12/2007, 14:04
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Contador de los jpg que hay en una carpeta

Y en el de GatorV también se puede mirar, si te molestas en ver qué hace la función glob().
  #9 (permalink)  
Antiguo 19/12/2007, 14:52
 
Fecha de Ingreso: diciembre-2007
Mensajes: 75
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Contador de los jpg que hay en una carpeta

bueno... pues lo estuve leyendo y viendo por ahi... y pues logre hacer lo que deseaba.. mi propio codigo :D sin editar el de otro :D

Para la persona que alguna ves lo necesita+

Código PHP:
<?
$dir
="imagenes";
$archivos=scandir($dir);
$cantidad=count($archivos);
$imagenes=array();
for(
$a="0";$a<=$cantidad;$a++)
{
    if(
eregi(".jpg"$archivos[$a]))
    {
        
$imagenes[] = $archivos[$a];  
    }
}

$cant_imagenes=count($imagenes);

foreach (
$imagenes as $lista)
{
    echo (
"<br>" $lista);
}
echo 
"<br>".$cant_imagenes;
?>
  #10 (permalink)  
Antiguo 19/12/2007, 19:41
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Contador de los jpg que hay en una carpeta

No es muy seguro que digamos. Si tienes un archivo que se llame archivotal.jpg.html, pues será considerado como una imagen por tu script. Mejor usa esto:

Código PHP:
for($a="0";$a<=$cantidad;$a++) 

    if(
pathinfo($archivos[$a],PATHINFO_EXTENSION) = "jpg"
    { 
        
$imagenes[] = $archivos[$a];   
    } 

Un saludo,
  #11 (permalink)  
Antiguo 19/12/2007, 19:44
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Contador de los jpg que hay en una carpeta

Usando la opción de GatorV, con glob(), podrias poner:

Código PHP:
<?php
 
$dir 
"imagenes";
$imagenes = array(); 
 
foreach (
glob("$dir/*.jpg") as $filename) {
   
$imagenes[] = $filename
}
 
$cant_imagenes count($imagenes); 
 
foreach (
$imagenes as $lista) { 
    echo (
"<br>" $lista); 

 
echo 
"<br>".$cant_imagenes
 
?>
Un saludo,
  #12 (permalink)  
Antiguo 19/12/2007, 20:37
 
Fecha de Ingreso: diciembre-2007
Mensajes: 75
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Contador de los jpg que hay en una carpeta

Gracias por lo de la funcion pathinfo, si sabia de lo vulnerable que era pero no sabia como corregirlo xD Gracias... y con respecto a la de GatorV ya la entendi xD pero prefiero quedarme con mi creacion :D xD

ahi coloco mi code completo espero que le sirva:

Código PHP:
<?
function img_rand($carpeta)
{
//declaro la carpeta de las imagenes
$dir=$carpeta;
//Analizo todos los archivos con scandir() y me lo devuelve como un array de todos los archivos
$archivos=scandir($dir);
//cuento todos los archivos
$cantidad=count($archivos);
//declaro un array donde se pondran todas las imagenes
$imagenes=array();

for(
$a="0";$a<=$cantidad;$a++)
{
    
//si el archivo tiene extencion jpg se agrega el elemento al array $imagenes
    
$b=pathinfo($archivos[$a]); 
    if(
$b['extension']=='jpg')
    {
        
$imagenes[] = $archivos[$a];  
    }
}
$num_img=count($imagenes);
$b=rand(0$num_img-1);
$imag_ale=$imagenes[$b];
return 
$imag_ale;
}

// lo demas es para que te devuelva una imagen aleatoria xD

$dir="imagenes";
$var=img_rand($dir);
$final=$dir."/".$var;
print(
"final=" $final);
?>
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 04:14.