Foros del Web » Programando para Internet » PHP »

mostrar blob(gif) de una bd mysql

Estas en el tema de mostrar blob(gif) de una bd mysql en el foro de PHP en Foros del Web. Muy buenas, me gustaria saber la forma correcta de mostrar en página una imagen guardada en una BD. Yo lo hago con un simple echo, ...
  #1 (permalink)  
Antiguo 02/02/2005, 05:12
 
Fecha de Ingreso: marzo-2004
Mensajes: 71
Antigüedad: 20 años, 1 mes
Puntos: 0
mostrar blob(gif) de una bd mysql

Muy buenas, me gustaria saber la forma correcta de mostrar en página una imagen guardada en una BD. Yo lo hago con un simple echo, pero lo que aparece es el codigo hexadecimal de la imagen...
Mi codigo seria algo asi:

function Imagenes($table,$num){
$query = mysql_query("select img from comunicados where apartado =".$table." order by id");
$result = mysql_result($query,$num);
echo $result;
}

Bueno, si veis algun fallo o lo estoy haciendo mal, agradeceria una aclaracion, muchas gracias y un saludo¡
  #2 (permalink)  
Antiguo 02/02/2005, 06:51
 
Fecha de Ingreso: julio-2003
Ubicación: Parana, ER
Mensajes: 72
Antigüedad: 20 años, 9 meses
Puntos: 0
A ese script agrega estas lineas:
Código PHP:
function Imagenes($table,$num){
 
$query mysql_query("select img from comunicados where apartado =".$table." order by id");
 
$result mysql_result($query,$num);
header("Content-type: image/gif");
 
imagegif($result);

Obviamente, lo tenes que llamar desde dentro de la etiqueta <img> por lo que no acostrumbro usar funciones, sino mas bien, un archivo aparte, que se pueda llamar de esta forma:
Código HTML:
<img src="fotos.php?table=algo&num=otracosa"> 
Saludos.
__________________
Victor Bracco
Programador PHP
Proyectos Freelance
  #3 (permalink)  
Antiguo 02/02/2005, 09:54
 
Fecha de Ingreso: marzo-2004
Mensajes: 71
Antigüedad: 20 años, 1 mes
Puntos: 0
Sigue fallando...

Hola Victor, gracias por tu interes, mira me he creado una nueva pagina php llamada blob.php, y la llamo desde otra de esta forma:

<img src="blob.php?table=1&num=1" border="0">
El problema es que me sale una imagen mal enlazada, la tipica "X". Pero la imagen existe porque si abro la pagina blob de esta forma -> http://servidor.com/blob.php?table=1&num=1" border="0" me saca el codigo hexadecimal de la misma, y me da el siguiente error:
Fatal error: Call to undefined function: imagegif() in c:\inetpub\wwwroot\internews\blob.php on line 16

El codigo de blob.php es el siguiente:
mysql_connect("","","") or die("no se puede conectar a la bd");
mysql_select_db("bd");
$query = mysql_query("select img from comunicados where apartado =".$table." order by id");
$result = mysql_result($query,$num);
imagegif($result);
header("Content-type:image/gif"); ->> Como curiosidad, o dato importante (no lo se), si escribo el header() en la linea previa a imagegif(), da el clasico error Cannot modify header information - headers already sent by...

Venga muchas gracias por la ayuda, y si sabes como solucionarlo aqui estoy¡ un saludo.
  #4 (permalink)  
Antiguo 02/02/2005, 10:08
 
Fecha de Ingreso: julio-2003
Ubicación: Parana, ER
Mensajes: 72
Antigüedad: 20 años, 9 meses
Puntos: 0
Si te sale el error del header, es porque tenes otro error antes de esa funcion.
Esta es una parte de un script que yo tengo para imprimir imagenes desde blob, y funciona a la perfección:
Código PHP:
global $db;
$consulta $db->sql_fetchrow($db->sql_query("SELECT foto_bin,foto_tipo FROM noticias WHERE cod_noti='".$_GET['cod_noti']."'"));
$datos $consulta['foto_bin'];
$tipo $consulta['foto_tipo'];
header("Content-type: $tipo");
echo 
$datos
Solo como aclaración $db es un puntero a una clase que mantiene el estado de mi conexión a mi Base de Datos.

Saludos.
__________________
Victor Bracco
Programador PHP
Proyectos Freelance
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 21:37.