Foros del Web » Programando para Internet » PHP »

Error al insertar y mostrar imagenes

Estas en el tema de Error al insertar y mostrar imagenes en el foro de PHP en Foros del Web. Hola! Estoy intentando guardar imágenes en una base de datos (eso lo he conseguido) pero para mostrarla por pantalla me sale el código en binario. ...
  #1 (permalink)  
Antiguo 10/04/2008, 04:46
Avatar de scout_vlc  
Fecha de Ingreso: julio-2007
Ubicación: Valencia
Mensajes: 141
Antigüedad: 16 años, 9 meses
Puntos: 0
Error al insertar y mostrar imagenes

Hola!

Estoy intentando guardar imágenes en una base de datos (eso lo he conseguido) pero para mostrarla por pantalla me sale el código en binario.
Mi código es este:

Código PHP:
echo '<br> muestro la imagen <br>';
$result mysql_query("SELECT img FROM imgs WHERE id=1");
$result_array mysql_fetch_array($result);
header("Content-Type: image/gif");
echo 
$result_array[0]; 
He mirado artículos, webs...he probado varios.
Si alguien sabe de alguno que me pueda funcionar correctamente, o vea cual es el fallo...os lo agradecería.
Muchas gracias, me sois muy útiles compañeros!
  #2 (permalink)  
Antiguo 10/04/2008, 05:14
Avatar de flanagan44  
Fecha de Ingreso: abril-2004
Mensajes: 182
Antigüedad: 20 años
Puntos: 2
Re: Error al insertar y mostrar imagenes

yo te aconsejo guardar en la BD la direccion de donde la guradas y guardar la imagen en una carpeta del server.

Seguro que cargaras menos la BD y las consultas las hara mas rapido

Un saludo
  #3 (permalink)  
Antiguo 10/04/2008, 05:38
Avatar de scout_vlc  
Fecha de Ingreso: julio-2007
Ubicación: Valencia
Mensajes: 141
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Error al insertar y mostrar imagenes

ok!
eso estaba haciendo ahora, y me va todo bien,e xcepto cuando el nombre tiene acentos o la ñ...
por ejemplo cuando guarda la imagen Imágenes2.jpg la guarda como Imágenes2.jpg, entonces, luego al mostrarla busca el nombre original y no lo encuentra :(
ya casi lo tengo...sólo me falta ese pequeño detalles de acentos, eñes, etc.
Gracias!!!
  #4 (permalink)  
Antiguo 10/04/2008, 06:16
Avatar de flanagan44  
Fecha de Ingreso: abril-2004
Mensajes: 182
Antigüedad: 20 años
Puntos: 2
Re: Error al insertar y mostrar imagenes

Cita:
Iniciado por scout_vlc Ver Mensaje
ok!
eso estaba haciendo ahora, y me va todo bien,e xcepto cuando el nombre tiene acentos o la ñ...
por ejemplo cuando guarda la imagen Imágenes2.jpg la guarda como Imágenes2.jpg, entonces, luego al mostrarla busca el nombre original y no lo encuentra :(
ya casi lo tengo...sólo me falta ese pequeño detalles de acentos, eñes, etc.
Gracias!!!
yo para eso al guardarlo en el server les modifico el nombre y pongo un nombre de tipo:

hh:mm:aaaa:mm:dd.jpg

asi todas tendran nombres distintos, ya que si subes otra dentro de un tiempo con el mismo nombre te quedara modificada y te variara
  #5 (permalink)  
Antiguo 10/04/2008, 06:21
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
Re: Error al insertar y mostrar imagenes

O al nombre lo depuras

Código PHP:
$nombre str_replace(array('á','é','í','ó','ú','ñ',' '),array('a','e','i','o','u','n','_'),strtolower($nombre)); 
Y te queda el nombre limpio.

Saludos ;)
  #6 (permalink)  
Antiguo 10/04/2008, 06:41
Avatar de scout_vlc  
Fecha de Ingreso: julio-2007
Ubicación: Valencia
Mensajes: 141
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Error al insertar y mostrar imagenes

Si, la idea de cambiarles el nombre por algo como lo d ela fecha y la hora, o un nombre aleatorio tipo 'sugufegfuaebgfuwbefubepgg.jpg' o algo así, que de paso sirva de primary key la he pensando
¿Cómo le cambio el nombre? ¿hay alguna función que lo haga directamente sin tener que implementarla?

PD: he probado lo de:
$nombre = str_replace(array('á','é','í','ó','ú','ñ',' '),array('a','e','i','o','u','n','_'),strtolower($ nombre));

Pero me cambia la Ñ mal....me sigue apareciendo 25Años 032.jpg en vez de 25Años 032.jpg

Muchas gracias :)
  #7 (permalink)  
Antiguo 10/04/2008, 06:56
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
Re: Error al insertar y mostrar imagenes

Si llevas un registro en la base de datos de las imágenes que vas cargando, entonces es simple:

A la tabla del registro le pones un campo ID autoincrementable.
Cuando subes la imagen le das el ID del registro como nombre.

1.gif, 2.jpg.... etc

Nunca se repiten los nombres.

Por otro lado el script quie te pasé recien funciona bien. Fíjate de reemplazar "$nombre" por la variable que contiene la imagen que subiste ($_FILES[]).

Saludos
  #8 (permalink)  
Antiguo 11/04/2008, 01:40
Avatar de scout_vlc  
Fecha de Ingreso: julio-2007
Ubicación: Valencia
Mensajes: 141
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Error al insertar y mostrar imagenes

Y aprovechando...jejeje ¿cómo puedo guardar la imagen y redimensionarla? me refiero a que el usuario, suba la imagen que suba, yo convertirlas todas al mimso tamaño, or ejemeplo a 120x150 píxeles, para que en la presentación de al web, siempre quede bien, y no se rompa el diseño.
Muchas gracias.
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 03:34.