Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/12/2009, 06:29
Avatar de MarioAraque
MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: me devuele la foto(MEDIUMBLOB) en binario

Para mostrar un BLOB no tenes que hacer eso, lo que tenes que hacer es mostrar una imagen (<img>) y en el atributo SRC poner la direccion a un archivo PHP que muestre el resultado en formato binario, si no estas generando conflictos: mostrando HTML y Binario en un mismo fichero.

No puedo mostrarte todo lo que hice, pero en resumen seria algo asi:

Código HTML:
<img style="margin-bottom:10px;" src="includes/mostrarimagen.php?id=<?php echo $noticia->getId(); ?>" /> 
y el archivo mostrarimagen.php seria algo asi:

Código PHP:
<?php
    
if(isset($_GET["id"])){
        require_once(
"../includes/conexion.php");
        require_once(
"../clases/imagen/imagen.php");
        
$imagen = new Imagen();
        
$id mysql_real_escape_string($_GET["id"]);

        
$imagen->getImagenPorNoticia($id);
        
header("Content-Type: ".$imagen->getTipo());
        echo 
$imagen->getContenido();
        
mysql_close($conexion);
    }
?>
Osea, repito, no te fijes en lo que programe que no viene al caso, si no que la imagen la mostras como un <img> y el archivo PHP que tenga contenido binario lo tenes que gacer aparte, poner el header correspondiente y solo imprimir el contenido del BLOB (echo $imagen->getContenido() muestra el contenido de la foto, osea todo lo binario).

Ojala te haya servido.

Saludos.