Foros del Web » Programando para Internet » PHP »

mostrando imagenes desde Mysql

Estas en el tema de mostrando imagenes desde Mysql en el foro de PHP en Foros del Web. Amigos he estado probando formas de trabajar con las imagenes para realizar lo siguiente: "publicare noticias donde por cada noticia existira al menos una imagen ...
  #1 (permalink)  
Antiguo 17/10/2005, 22:13
 
Fecha de Ingreso: abril-2005
Mensajes: 491
Antigüedad: 12 años, 8 meses
Puntos: 1
mostrando imagenes desde Mysql

Amigos

he estado probando formas de trabajar con las imagenes para realizar lo siguiente:

"publicare noticias donde por cada noticia existira al menos una imagen relacionada con el artículo publicado"

para no sobrecargar innecesariamente la bd he probado guardando la ruta de la imagen en un campo de la bd (¿es buena está práctica?) y dejando la imagen en una carpeta en el server.

Ahora el tema es, con esta forma de guardar las imagenes,
¿es posible dejar una tabla que simplemente llame a esa imagen y la cargue dinámicamente, en vez de sólo utilizar <img src="../ima/Lupa3.jpg" >??
  #2 (permalink)  
Antiguo 18/10/2005, 07:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si gestionas así tus imagenes .. puedes hacer dos cosas:

1) ... tener un script que lea tu imagen y la entregue al buffer de salida de PHP previo envio de las cabeceras HTTP adecuadas al tipo de imagen que es (o archivo).

lee_imagen.php
Código PHP:
<?
// consulta a tu BD para obtener la ruta de la imagen (o nombre sólo y concatenas la ruta)

header ("Content-type: image/tipoquesea");
readfile("/ruta/imagen/absoluta/".$row['imagen']);
?>
Y lo llamas en tus páginas por:
Código PHP:
<img src="lee_imagen?id=1"
Este método tiene el beneficio de que ocultas completamente el nombre de tu archivo y ruta de este .. Puedes incluso colocar esos archivos de imagen por arriba de tu "documen root" con lo cual quedan fuera del alcance directo de una llamada por HTTP: (http://www.nose.tal/imagenes/imagen.tal), ganando en seguridad tu sistema y control.

2) .. simplemente compones tu tag de imagen desde tu lectura del dato de tu imagen en tu tabla vía SQL:

Código PHP:
// consulta a tu BD .. obtienes el campo "imagen" ...
echo "<img src=\"../imagenes/".$row['imagen']."\">"

(asumo que sólo guardas el nombre de la imagen ..)

Un salduo,
  #3 (permalink)  
Antiguo 18/10/2005, 12:40
 
Fecha de Ingreso: abril-2005
Mensajes: 491
Antigüedad: 12 años, 8 meses
Puntos: 1
Actualmente estoy guardando la ruta en la bd, pero siguiendo tus consejos de este y otros post, agregare un campo en mi bd para guardar sólo el nombre de la imagen.

Ahora te hago una pequeña consulta...

"EL guardar o no el path de la imagen en la bd, de cierta forma veo que quizas no es del todo útil (al menos para esta aplicación en particular)ya que, de todas formas se esta gurdando la imagen en una capeta existente en el server, y por ende es mejor sólo gurdar el nombre del archivo o imagen, estoy en lo correcto ?"


te estaré comentando los avances
Gracias Cluster
  #4 (permalink)  
Antiguo 18/10/2005, 13:25
 
Fecha de Ingreso: julio-2005
Ubicación: Guatemala
Mensajes: 165
Antigüedad: 12 años, 4 meses
Puntos: 0
Under_ground... es correcto te recomiendo solo guardar el nombre de la imagen, y el archivo de la imagen la almacenas en una carpeta del server.

Ya Cluster te dio la mejor forma de hacerlo, incluso protegiendo la ruta.
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 07:53.