Foros del Web » Programando para Internet » PHP »

Resacatar cantidad de imagenes de una carpeta

Estas en el tema de Resacatar cantidad de imagenes de una carpeta en el foro de PHP en Foros del Web. Hola gente: Tengo una carpeta con imagenes, las cuales las guardo de esta forma 8_1.jpg 8_2.jpg 8_3.jpg 9_1.jpg 9_2.jpg El tema es que necesito saber ...
  #1 (permalink)  
Antiguo 05/10/2005, 14:35
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 21 años, 2 meses
Puntos: 1
Resacatar cantidad de imagenes de una carpeta

Hola gente:
Tengo una carpeta con imagenes, las cuales las guardo de esta forma

8_1.jpg
8_2.jpg
8_3.jpg
9_1.jpg
9_2.jpg

El tema es que necesito saber cual es la ultima osea por ejemplo en mi cas la ultima que hace referencia al 8 es 8_3.jpg para poder guardar una nueva como 8_4.jpg

Se entiende?
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #2 (permalink)  
Antiguo 05/10/2005, 15:22
Avatar de davidangel  
Fecha de Ingreso: abril-2005
Mensajes: 124
Antigüedad: 19 años
Puntos: 0
pues una alternativa seria crear un funcion q lea archivos
por ejemplo
q buscq por primera vez

el archivo 8_0.jpg si existes
sigues buscando pero ahora con mas 1
por ejemplo
8_1.jpg
si existe q sigua buscando

bueno no se si me expliq o si eso es lo q quieres
bueno suerte nos vemos
__________________
Angel de Madrid
-------------------------------------------------
guarda tus favoritos http://markerbox.com (no requiere correo) :arriba:
  #3 (permalink)  
Antiguo 05/10/2005, 15:26
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 21 años, 2 meses
Puntos: 1
Algo asi, el tema es que no se como implementarlo?
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #4 (permalink)  
Antiguo 05/10/2005, 15:53
Avatar de davidangel  
Fecha de Ingreso: abril-2005
Mensajes: 124
Antigüedad: 19 años
Puntos: 0
mano aqui tenes una funcion

espero te sirva mas q eso la entiendasjaja


<?..

$i=inicio con cero --> 0
$a=nombrearchivo
function chec_name($a,$i) {

$file_name = trim($a);
$extension = strrchr($file_name,".");
$nombre = substr($file_name,0,strrpos($file_name,"."));
if($i==0){
$newfile = $file_name;
}else{
$newfile = $nombre."[".$i."]".$extension;
}
if(file_exists($newfile))
{
return $this->chec_name($a,$i+1);
}else{
return $newfile;
}
}


?>

suerte nos vemos
__________________
Angel de Madrid
-------------------------------------------------
guarda tus favoritos http://markerbox.com (no requiere correo) :arriba:
  #5 (permalink)  
Antiguo 05/10/2005, 15:57
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 21 años, 2 meses
Puntos: 1
Ok voy intentar traducir esto jeje

Despues te cueto
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #6 (permalink)  
Antiguo 05/10/2005, 16:15
 
Fecha de Ingreso: agosto-2005
Mensajes: 143
Antigüedad: 18 años, 8 meses
Puntos: 0
Holas.

Bueno, se me ha adelantado mientras escribía el script pero aqui lo dejo. He hecho una función que puede que te sirva. Te pongo la función y te la explico.
Código PHP:
<?php
function buscarSiguiente($dir='./'$buscar='1_'$extension='.jpg'$desde=0$hasta=9)
{
    
$handler opendir($dir);
    while(
true == ($archivo readdir($handler)))
    {
        if(
'.' == $archivo || '..' == $archivo)
            continue;
        for(
$a $desde$a <= $hasta$a++)
        {
            if(!
file_exists($dir.$buscar.$a.$extension))
                return 
$buscar.$a.$extension;
        }
    }
    
closedir($handler);
}
?>
Imagina que tenemos en una carpeta llamada 'busqueda/' 3 archivos llamados: '1_1.jpg', '1_2.jpg' y '1_3.jpg'.
Si usamos esta función de esta manera:
Código PHP:
<?php
function buscarSiguiente($dir='./'$buscar='1_'$extension='.jpg'$desde=0$hasta=9)
{
    
$handler opendir($dir);
    while(
true == ($archivo readdir($handler)))
    {
        if(
'.' == $archivo || '..' == $archivo)
            continue;
        for(
$a $desde$a <= $hasta$a++)
        {
            if(!
file_exists($dir.$buscar.$a.$extension))
                return 
$buscar.$a.$extension;
        }
    }
    
closedir($handler);
}
echo 
buscarSiguiente('busqueda/''1_''.jpg'110);
?>
Imprimiría '1_4.jpg', que es el siguiente archivo del lote '1_'.

Creo que se entiende ¿no?

Saludos ;)
  #7 (permalink)  
Antiguo 06/10/2005, 10:58
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 21 años, 2 meses
Puntos: 1
Bien, ahora para estar seguro si yo solo quiero que se graben hasta 6 imagenes lo limito en el parametro hasta ¿no?

Solo me queda probarlo junto con el codigo que utilizo para subir la imagen, cualquier duda les comento gracias a los dos
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #8 (permalink)  
Antiguo 06/10/2005, 11:23
 
Fecha de Ingreso: agosto-2005
Mensajes: 143
Antigüedad: 18 años, 8 meses
Puntos: 0
Si.

Y ten en cuenta que por defecto empieza en 0...si tus imagenes empiezan en 1 tienes que cambiarlo($desde)...sino te dirá que la siguiente imagen es la *_0.jpg

Saludos ;)
  #9 (permalink)  
Antiguo 28/10/2005, 05:52
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 21 años, 2 meses
Puntos: 1
vuelvo a insistir con imagenes
El tema es asi: quiero modificar este codigo para que me liste las cantidad de imagenes que tengo dentro de una carpeta.

Lo logro hacer si saco este if pero la verdad es que no logro entender cual es el funcionamiento de esta linea, tengo miedo de sacarlo y que sea importante, ¿alguien me lo puede explicar?

Código PHP:
$local=$_GET['id'];
function 
buscarSiguiente($dir$buscar$extension$desde$hasta){
    
$handler opendir($dir);
    if(
true == ($archivo readdir($handler))){
        
//if('.' == $archivo || '..' == $archivo)
           // continue;
        
for($a $desde$a <= $hasta$a++){
            if(
file_exists($dir.$buscar.$a.$extension))
                
//return $buscar.$a.$extension;
                
echo $buscar.$a.$extension."<br>";
                
        }
    }
    
closedir($handler);
}
buscarSiguiente('../fotos_chicas/'$local.'_''.jpg'18); 
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
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 21:56.