Comunidad de diseño web y desarrollo en internet online

Ayuda: Mostrar imágenes de BD con PHP

Citar            
MensajeEscrito el 27 Feb 2010 10:40 pm
Hola, ¿cómo están?
Estoy teniendo problemas para mostrar con PHP las imágenes que están subidas a mi base de datos... Las imágenes son del tipo BLOB y la base de datos está hecha en Navicat.
¿Qué código de PHP habría de poner para que muestre las imágenes de mi base de datos...?

Desde ya muchas gracias.

Por Cookie

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Feb 2010 05:08 am

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 07 Mar 2010 12:56 am
No es para nada recomendable tener las imagenes dentro de la base de datos. Consumis recursos de forma inecesaria, lo mejor es tener las imagenes en el filesystem, y guardar los path de las imagenes en la db, para poder relacionarla con otros contenidos.

Por pablofmorales

Claber

103 de clabLevel

1 tutorial

Genero:Masculino  

Web developer

chrome
Citar            
MensajeEscrito el 08 Mar 2010 10:36 pm
Para recuperar la imagen /o archivo de la BD solo tienes que consultar de forma normal, aqui tienes que tener en cuenta que estas recuperando un archivo binario por lo que no lo puedes embeber en el codigo HTML de respuesta, si no que se tiene que mandar llamar de otra forma, el archivo se recopera de forma idependiente

Ejemplo de recuperar una imagen:
img.php

Código PHP :

<?php
$link= mysql_connect("localhost","root","root");
mysql_select_db("test_blob",$link);
$sql="SELECT foto
FROM img
WHERE id_img ='".$_GET['id_img']."'";
$q=mysql_query($sql,$link);
$res=mysql_fetch_array($q);
header("Content-type:image/png");
echo $res['foto'];
?>


al ver img.php desde es tu explorador enviando una variable id_img= por get veras que se muestra la imagen
ejemplo para recuperar la imagen con el id 3, tendrías que abrir

http://localhost/img.php?id_img=3

y con ello se mostraría la imagen,
en el código que recupera la imagen observa que todo es un query normal pero antes de dar salida a $res['foto'] tengo "header("Content-type:image/png");" con esto le indicamos a Apache o a tu servidor que lo que se va a enviar como respuesta a la petición sera un archivo del tipo que indiquemos en el Content-type en este caso le indicamos al explorador que se le enviara una imagen tipo png y así el explorador recibe los bits y los interpreta de la forma adecuada o bien si fuera un tipo mime no reconocido enviaría a descarga el archivo(así se obligan las descargas).

ahora para incluir la imagen en nuestro reporte o HTML, solo tendremos que ponerlo la ruta al .php en un img

Código HTML :

<img src="img.php?id_img=1" alt="" />
<img src="img.php?id_img=2" alt="" />
<img src="img.php?id_img=3" alt="" />
<img src="img.php?id_img=4" alt="" />
<img src="img.php?id_img=5" alt="" />


observa que el src va a img.php y se envia la variable get id_img,

como te mencionaron no te recomiendo mucho que utilices este método, ya que el recuperar y mostrar la imagen cosume recursos de php y es mucho mas eficiente solo guardar la ubicación de la imagen y reconstruir el src de la imagen y esta guardarla en un directorio en el HD,

Por wariodiaz

55 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Sep 2010 05:45 pm
hola.
he estado buscando como recuperar una imagen de una base de datos mediante una ruta, ya que no quiero guardarla en la base de datos para no hacerla peasada, he intentado hacerlo pero no lo he logrado, ojala alguien me pueda ayudar

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.