PHP muestra la imagen BLOB de MySQL [duplicado]
Esta pregunta ya tiene una respuesta aquí:
Cómo recuperar imágenes de la base de datos MySQL y mostrarlas en una etiqueta html 6 respuestasEstoy intentando mostrar una imagen almacenada en la columna BLOB en la base de datos;
Obtengo los datos de la base de datos con un SELECT que no realiza ninguna transformación en los datos y los muestro con lo siguiente (desde un script cuyo único resultado es el siguiente):
header("Content-Type: image/jpeg");
echo $image;
Tenga en cuenta que Chrome muestra el tamaño del contenido como el tamaño correcto para la imagen, así como el tipo de mimo correcto (image/jpeg
). nada se hace eco antes de que el encabezado y he verificado que el blob en la base de datos es correcto. Tampoco hay espacios en blanco finales antes o después de la<?php ?>
etiquetas
Chrome / IE muestra un icono de imagen pero no la imagen en sí. ¿algunas ideas?
EDITAR: la imagen se obtiene de la base de datos como tal:
$sql = "SELECT * FROM products WHERE id = $id";
$sth = $db->query($sql);
$row = $sth->fetch();
$image = $row['image'];
var_dump ($ image) da:
string 'ÿØÿà�JFIF��x�x��ÿá�ZExif��MM�*�����������J��������Q�������Q������tQ������t�����† ��±ÿÛ�C�
ÿÛ�CÿÀ�_"�ÿÄ�����������
ÿÄ�µ���}�!1AQa"q2‘¡#B±ÁRÑð$3br‚
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³ ´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ��������'... (length=60766)