我试图显示存储在数据库的BLOB列中的图像;来自MySQL的PHP显示图像BLOB
我取从一个SELECT数据库中的数据对数据进行任何转换,并具有以下(从脚本,其唯一的输出如下)显示出来:
header("Content-Type: image/jpeg");
echo $image;
请注意浏览器显示内容大小作为图像的正确大小以及正确的MIME类型(image/jpeg
)。在标题之前没有任何回应,并且检查数据库中的blob是否正确。在<?php ?>
标签之前或之后也没有尾随空白。
铬/ IE显示图像图标,但不显示图像本身。有任何想法吗?
编辑:图像,这样得到了从数据库中:
$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'保存为二进制文件并将其打开,可能数据库中的数据已损坏? –