Foros del Web » Programando para Internet » PHP »

leer imagenes en un archivo en el server

Estas en el tema de leer imagenes en un archivo en el server en el foro de PHP en Foros del Web. Hola gente tengo un archivo "fotos_grandes", dentro de el tengo imágenes las cuales guardo utilizando como nombre el id del producto y como son mas ...
  #1 (permalink)  
Antiguo 17/12/2005, 09:37
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 14 años, 10 meses
Puntos: 1
leer imagenes en un archivo en el server

Hola gente tengo un archivo "fotos_grandes", dentro de el tengo imágenes las cuales guardo utilizando como nombre el id del producto y como son mas de una les coloco "_1", "_2", etc.

Quedándome algo así

50_1.jpg
50_2.jpg
50_9.jpg
51_1.jpg
etc.

El tema es que necesito leerlas, y es acá donde esta el problema,
e como hacer para leer lo que esta después del "_" con la función explode, pero no se como hacer para leer el primer numero, ósea ¿como puedo saber cuantas fotos son las que empiezan con el numero 50 por ejemplo?

Desde ya gracias
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #2 (permalink)  
Antiguo 17/12/2005, 11:05
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 14 años, 10 meses
Puntos: 1
Casi resuelto!!

Ya tengo esto

Código PHP:
if ($gestor opendir('../fotos_grandes/')) { //abrir archivo
    
while ($archivo readdir($gestor)) { //leer archivo
        
if ($archivo != "." && $archivo != "..") { //verificar que no es un directorio
            
$archivos[] = $archivo//guardar en una array
        

    } 
    
closedir($gestor); //cerrar directorio

sort($archivos); //acomodar resultados
for ($i=0;$i<count($archivos);$i++){ //leer resultados
$extension explode('.',$archivos[$i]);//leer extencion
$extt".{$extension[1]}";
if (
$extt==".jpg"){//verificar que sean jpg
$numero="1"//aca va el id de la foto
$imagen=$archivos[$i];
if(
strstr($imagen,$numero)) //buscando el id dentro del nombre del archivo
       
echo $archivos[$i]."<br>";
else 
    echo 
$archivos[$i]."No aparece<br>";
}

Pero esto me devuelve tanto

1_1
1_2
como

58_1

Yo neceito leer la primera parte del archivo, osea que al colocar $numero="1"; me devuelva solo los archivos que comienzan con 1

¿Como lo podria hacer?
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #3 (permalink)  
Antiguo 17/12/2005, 11:07
Avatar de Panino5001
Moderatroll
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.062
Antigüedad: 13 años, 6 meses
Puntos: 775
No seé si será esto lo que necesitás:

Código PHP:
$imageneid="51_1.jpg";
$dato=explode("_",$imageneid);
$imagen_sola=$dato[1];
$id_solo=$dato[0]; 
  #4 (permalink)  
Antiguo 17/12/2005, 14:47
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 14 años, 10 meses
Puntos: 1
Si, es esto, lo probe y funciona pero ahora trato de entenderlo.
Yo tenia entendido que eso me edevolvia lo que sigue despues de la _, por lo que veo no, ademas no entiendo cual es la funcion del cero y el uno.

?
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #5 (permalink)  
Antiguo 17/12/2005, 16:07
Avatar de Panino5001
Moderatroll
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.062
Antigüedad: 13 años, 6 meses
Puntos: 775
La función explode convierte una cadena en un array utilizando una cadena que le indiquemos, en este caso el guión, como separador.
El primer elemento del array es el primer segmento de la cadena dividida y ocupa la posición cero dentro del array, el segundo, es la segunda poción de la cadena inicial y ocupa la posición 1, y si hubiera más segmentos, seguiría de la misma manera.
saludos.
  #6 (permalink)  
Antiguo 19/12/2005, 14:46
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 14 años, 10 meses
Puntos: 1
ok, gracias
__________________
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 14:38.