Foros del Web » Programando para Internet » PHP »

Mostrar imágenes guardadas en MySQL con PHP

Estas en el tema de Mostrar imágenes guardadas en MySQL con PHP en el foro de PHP en Foros del Web. Buenos días; Eh estado buscando en los foros como mostrar una imgaen guardada en un campo BLOB en MySQL con php, pero no consigo hacerlo... ...
  #1 (permalink)  
Antiguo 24/05/2011, 18:33
 
Fecha de Ingreso: septiembre-2010
Mensajes: 39
Antigüedad: 13 años, 7 meses
Puntos: 0
Pregunta Mostrar imágenes guardadas en MySQL con PHP

Buenos días;
Eh estado buscando en los foros como mostrar una imgaen guardada en un campo BLOB en MySQL con php, pero no consigo hacerlo... Cuando imprimo esta salen unos códigos; cuando pongo la línea:

Código PHP:
header("Content-type: image/gif"); 
Deja de imprimirse TODO el contenido de la web, dejando la ventana del navegador en blanco...

Cual es el error o que método alternativo para guardar imágenes y luego mostrarlas con php (?)
  #2 (permalink)  
Antiguo 24/05/2011, 18:38
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Mostrar imágenes guardadas en MySQL con PHP

Necesitas hacer un archivo llamado por ejemplo blob.php que reciba un ID por GET..
En ese mismo archivo pones la cabecera que dices y obtienes el id de GET, de ahí haces una query obteniendo la imagen al id correspondiente y lo imprimes..
Donde quieras imprimir una imagen, sería:
Código HTML:
<img src="blob.php?id=4" alt="Img blob" /> <!-- En id reemplaza por el id de img. --> 
Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #3 (permalink)  
Antiguo 24/05/2011, 18:57
 
Fecha de Ingreso: septiembre-2010
Mensajes: 39
Antigüedad: 13 años, 7 meses
Puntos: 0
Pregunta Respuesta: Mostrar imágenes guardadas en MySQL con PHP

Mirá:

El archivo blob.php
Código PHP:
<?php
header
("Content-type: image/gif");
if(isset(
$_GET['id'])){
    
$id $_GET['id'];
    
    
$link mysql_connect("localhost""root""") or die ("ERROR AL CONECTAR");
    
$db_select mysql_select_db("db_colossus");
    
    
$q "SELECT i_img FROM items WHERE item_id = '$id'";
    
$img mysql_query($q$link);
    
    print 
$img;
    }
?>
El archivo que muestra una imagen:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<?php 
require_once 'blob.php';
?>
<img src="blob.php?id=1" alt="Img" />
</body>
</html>
Sigue sin mostrar nada... ¿Que puede ser?
  #4 (permalink)  
Antiguo 24/05/2011, 19:02
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Mostrar imágenes guardadas en MySQL con PHP

Primero.. No incluyas blob.php porque así se intenta cambiar el header() pero no se puede porque ya hay etiquetas HTML, entonces habría error..
Segundo.. Te olvidaste de extraer los datos con mysql_fetch_assoc
Tercero.. Print se usa con paréntesis, además, lo mejor es usar echo.

Intenta corrigiendo esos errores y nos dices que tal
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #5 (permalink)  
Antiguo 24/05/2011, 19:24
 
Fecha de Ingreso: septiembre-2010
Mensajes: 39
Antigüedad: 13 años, 7 meses
Puntos: 0
Pregunta Respuesta: Mostrar imágenes guardadas en MySQL con PHP

Mirá; efectué los cambios que me dijiste; pero sigue sin aparecer nada... y en algunos casos aparece un cuadradito que simboliza que no se encuentra la imagen...

blob.php
Código PHP:
<?php
header
("Content-type: image/gif");
if(isset(
$_GET['id'])){
    
$id $_GET['id'];
    
$link mysql_connect("localhost""root""") or die ("ERROR AL CONECTAR");
    
$db_select mysql_select_db("db_colossus") or die ("ERROR AL SELECCIONAR DB");
    
    
$q "SELECT i_img FROM items WHERE item_id = '$id'";
    
$result mysql_query($q$link) or die ("Error al consultar");
    
$img mysql_fetch_assoc($result);
    
    echo 
$img;
    } else {
        echo 
'NO ID';
        }
?>
showImage.php
Código PHP:
<?php
echo '<img src="blob.php?id=1" alt="Img" />';
?>
  #6 (permalink)  
Antiguo 24/05/2011, 19:40
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Mostrar imágenes guardadas en MySQL con PHP

Me parece que no conoces el uso de mysql_fetch_assoc, te invito a leer la información en el manual oficial:
http://php.net/mysql_fetch_assoc

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #7 (permalink)  
Antiguo 24/05/2011, 20:30
 
Fecha de Ingreso: septiembre-2010
Mensajes: 39
Antigüedad: 13 años, 7 meses
Puntos: 0
Pregunta Respuesta: Mostrar imágenes guardadas en MySQL con PHP

Muchas gracias!!!

Ahí lo logré... Pongo el código final por si otro con el mismo problema ingresa y lo tiene.
blob.php
Código PHP:
<?php
header
("Content-type: image/gif");
if(isset(
$_GET['id'])){
    
$id $_GET['id'];
    
$link mysql_connect("localhost""root""") or die ("ERROR AL CONECTAR");
    
$db_select mysql_select_db("db_colossus") or die ("ERROR AL SELECCIONAR DB");
    
    
$q "SELECT * FROM items WHERE item_id = '$id'";
    
$result mysql_query($q$link) or die ("Error al consultar");
    
    while (
$row mysql_fetch_assoc($result)) {
    echo 
$row["i_img"];
    }
    
    
mysql_free_result($result);
    } else {
        echo 
'NO ID';
        }
?>
showImage.php
Código PHP:
<?php
echo '<img src="blob.php?id=1" alt="Img" />';
?>
Ahora en el caso de que necesite imprimir esta imagen dentro de la web (donde hay etiquetas html); no hay inconvenientes?

Lo que necesito hacer es imprimir el resultado de la busqueda; que lleba una div con una imagen dentro; un texto, bla bla... ¿?
  #8 (permalink)  
Antiguo 24/05/2011, 20:37
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Mostrar imágenes guardadas en MySQL con PHP

No, no importa
Si te fijas, en realidad es una simple etiqueta HTML:
Código HTML:
<img src="blob.php?id=1" alt="Img" /> 
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #9 (permalink)  
Antiguo 07/05/2013, 04:23
 
Fecha de Ingreso: octubre-2011
Mensajes: 3
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Mostrar imágenes guardadas en MySQL con PHP

Muchas gracias, ahora lo ke necesito es pasarle al archivo blobl.php el id que yo quiera: <img src="blob.php?id=$fila[ID_Producto]" alt="Img" />';

haber si encuentro la solución, muchas gracias perfekto!! y acepto sugerencias =)
  #10 (permalink)  
Antiguo 17/03/2016, 13:36
 
Fecha de Ingreso: marzo-2016
Mensajes: 3
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: Mostrar imágenes guardadas en MySQL con PHP

Hola una pregunta y los dos archivos no pueden ir en un solo php??

Etiquetas: blob, img, mysql
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 06:39.