Я пытаюсь отобразить изображение, сохраненное в столбце BLOB в базе данных;PHP отображение изображения BLOB из MySQL
я выборки данных из базы данных с помощью SELECT, не выполняются преобразования на данных и отображать его следующим образом (из сценария которого только выход ниже):
header("Content-Type: image/jpeg");
echo $image;
Обратите внимание хром проявляет размер содержимого как правильный размер для изображения, а также правильный тип mime (image/jpeg
). ничто не повторяет перед заголовком, а ive проверяет правильность блоба в базе данных. Также нет теневых пробелов до или после тегов <?php ?>
.
chrome/IE отображает значок изображения, но не сам образ. есть идеи?
EDIT: изображение получило из базы данных как таковые:
$sql = "SELECT * FROM products WHERE id = $id";
$sth = $db->query($sql);
$row = $sth->fetch();
$image = $row['image'];
var_dump ($ изображения) дает:
string 'ÿØÿà�JFIF��x�x��ÿá�ZExif��MM�*�����������J��������Q�������Q������tQ������t�����† ��±ÿÛ�C�
ÿÛ�CÿÀ�_"�ÿÄ�����������
ÿÄ�µ���}�!1AQa"q2‘¡#B±ÁRÑð$3br‚
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³ ´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ��������'... (length=60766)
Опубликовать то, что составляет '$ image', пожалуйста (т.е. запросы и т. д.) – Machavity
@ user2732663 Вы попробовали мой ответ ниже? –
попытайтесь сохранить '$ image' в двоичный файл и откройте его, возможно, данные в БД повреждены? –