Foros del Web » Programando para Internet » PHP »

Mostrar imagen blob de MySQL

Estas en el tema de Mostrar imagen blob de MySQL en el foro de PHP en Foros del Web. Hola, buenos días. Pues nada, eso, lo que pone el título. ¿Como podría mostrar la imagen que está almacenada en mi BD con el menor ...
  #1 (permalink)  
Antiguo 21/01/2005, 03:38
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.427
Antigüedad: 14 años, 6 meses
Puntos: 7
Mostrar imagen blob de MySQL

Hola, buenos días.

Pues nada, eso, lo que pone el título.

¿Como podría mostrar la imagen que está almacenada en mi BD con el menor número de líneas posibles?

Haber si alguien puede hecharme un cable.

Gracias.
__________________
Charlie.
  #2 (permalink)  
Antiguo 21/01/2005, 05:14
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.427
Antigüedad: 14 años, 6 meses
Puntos: 7
http://www.programacion.com/articulo/datos_blob/

Bien, yo lo que necesito es mostrar un texto y al lado una imagen, la cual la extraigo de la BD:
IMG texto
IMG otrotexto


La cuestión es que si pongo, arriba del todo: header ("Content-type: image/gif");
Y despues: echo rs[camboblob];

Me muestra el código de la página (Y para colmo no me muestra la imagen). Y si no pongo el header, me muestra toda la página bien, pero la imagen sigue sin mostrarse.

<?=imagegif($rsid[imagen],'');?> Con esto tampo tira.

¿Alguien podría indicarme que tengo que cambiar please?
__________________
Charlie.

Última edición por chcma; 21/01/2005 a las 05:26
  #3 (permalink)  
Antiguo 21/01/2005, 05:36
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

¿Como es el HTML que muestra varias imagenes?

<img src="i1.jpg">
<img src="i2.jpg">
<img src="i3.jpg">
<img src="i4.jpg">

¿Como es el codigo HTML que muestra varias imagenes de base de datos?

<img src="mostrar_img.php?id=i1">
<img src="mostrar_img.php?id=i2">
<img src="mostrar_img.php?id=i3">
<img src="mostrar_img.php?id=i4">

Siendo mostrar_img.php el script que lee y muestra una imagen.

Esta es la version breve de la explicacion que da Cluster en http://www.forosdelweb.com/f18/tutorial-ejemplo-subir-archivos-bd-guardando-bd-binario-127775/

saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 21/01/2005, 05:46
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.427
Antigüedad: 14 años, 6 meses
Puntos: 7
En primer lugar, gracias por contestar Josemi, realmente estoy desesperado.

Pero eso no chufa. Verás, resumiendo, para hacer la prueba hice lo siguiente:



Código PHP:
header ("Content-type: image/gif");
$sqlidfamilia=mysql_query("esta sentencia solo me devuelve una fila"$cn);
$rsid=mysql_fetch_assoc($sqlidfamilia);
$imagen=mysql_result($sqlidfamilia0"imagen");
echo 
$imagen
Me muestra toda la página en modo texto(Eso lo entiendo ya uqe para probar, puse en la cabecera de arriba del todo lo de Content a image/gif)

Pero la imagen, no me la muestra !!!

Me sigue mostrando caracteres raros, empeznado por la palabra GIF

Aqui puedes ver el resultado:
http://www.guiaoca.com/movida.php?seccion=musica

"La imagen" aparece casi abajo del todo.

Nuevamente, gracias por contestarme, ya lo habia mirado ese post de Cluster.

Gracias.
__________________
Charlie.

Última edición por chcma; 21/01/2005 a las 06:05
  #5 (permalink)  
Antiguo 21/01/2005, 06:25
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Veamos, ese codigo
Código PHP:
<?php
header 
("Content-type: image/gif");
$sqlidfamilia=mysql_query("esta sentencia solo me devuelve una fila"$cn);
$rsid=mysql_fetch_assoc($sqlidfamilia);
$imagen=mysql_result($sqlidfamilia0"imagen");
echo 
$imagen;
?>
lo tienes que tener en un fichero aparte, solo esas lineas, sin nada mas, ni html. Llama a ese fichero mostrar_img.php.

Luego en movida.php, metes este HTML donde quieras sacar la imagen

<img src="mostrar_img.php?id=<?php echo $row['id']; ?>">

el id es el parametro que pasas para que el codigo de mostrar_img.php para seleccionar el registro (en tu caso puede ser otro tipo de dato, es simplemente como ejemplo). Es el id del registro cuyos datos estas mostrando.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 21/01/2005, 06:49
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.427
Antigüedad: 14 años, 6 meses
Puntos: 7
Nuevamente gracias Josemi por molestarte en contestar.

Sin embargo, siento decirte que todavía no me muestra la imagen, aun que si que he progresado:

He creado el archivo que me dijiste:
Código PHP:
<?
header 
("Content-type: image/gif");
$sqlidfamilia=mysql_query("select imagen from tfamiliasreportajes where id=$_GET[idfamilia]"$cn);
$imagen=mysql_result($sqlidfamilia0"imagen");
echo 
$imagen;
?>
Y despues, lo llamo desde la otra pagina:
<img src="inc/mostrar_img.php?idfamilia=<?=$rsid[id];?>">

Me he asegurado de que $rsid[id] tenga el mismo valor que el del registro donde está la imagen.

Tengo las librerias Gd 1.8, eso creo que no deberia suponerme ningún problema, ¿Verdad?. Creo que el código lo tengo bien. Si alguien puede comentame algo, le estaré muy agradecido.

Saludos y nuevamente thnks. ;)
__________________
Charlie.
  #7 (permalink)  
Antiguo 21/01/2005, 06:57
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Bien, comenta en mostrar_img.php la linea del header() y llama directamente en tu navegador a ese script pasandole un valor valido en el parametro:

http://www.guiaoca.com/inc/mostrar_img.php?idfamilia=1 (o un numero que exista)

ahora mismo, con el valor de 1, te mostrara:

<br />
<b>Warning</b>: mysql_query(): supplied argument is not a valid MySQL-Link resource in <b>/var/www/html/guiaoca/inc/mostrar_img.php</b> on line <b>3</b><br />
<br />
<b>Warning</b>: mysql_result(): supplied argument is not a valid MySQL result resource in <b>/var/www/html/guiaoca/inc/mostrar_img.php</b> on line <b>4</b><br />

Significa que hay un error en la consulta que haces en mostrar_img.php. Quizas es porque no existe un registro de idfamilia=1, no lo se.

La cuestion es que prueba llamando en el navegador directamente a ese script hasta que no te salgan errores (te saldran los caracteres raros que comienzan por GIF). En ese punto, descomenta el header() y vuelve a pedir directamente en el navegador el script, si ves la imagen genial. Ahora ya puedes mostrar esa imagen en otros HTML con un <img>.

saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 00:45.