当前位置: 首页 > 面试题库 >

PHP从MySQL显示图像BLOB [重复]

鲁泰宁
2023-03-14
问题内容

这个问题已经在这里有了答案

如何从MySQL数据库检索图像并显示在html标记中 (6个答案)

4年前关闭。

我试图显示存储在数据库的BLOB列中的图像;

我使用SELECT从数据库中获取数据,不对数据进行任何转换,并显示以下内容(从仅输出以下内容的脚本中显示):

header("Content-Type: image/jpeg");
echo $image;

请注意,chrome正在将内容大小显示为图像的正确大小以及正确的mime类型(image/jpeg)。在头文件和ive检查数据库中的blob正确之前,没有任何回声。<?php ?>标签之前或之后也没有尾随空格。

chrome / IE显示图像图标,但不显示图像本身。有任何想法吗?

编辑:像这样从数据库中获取图像:

$sql = "SELECT * FROM products WHERE id = $id";
$sth = $db->query($sql);
$row = $sth->fetch();
$image = $row['image'];

var_dump($ image)给出:

string 'ÿØÿà�JFIF��x�x��ÿá�ZExif��MM�*�����������J��������Q�������Q������tQ������t�����† ��±ÿÛ�C�

ÿÛ�CÿÀ�_"�ÿÄ����������� 
ÿÄ�µ���}�!1AQa"q2‘¡#B±ÁRÑð$3br‚ 
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³    ´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ��������'... (length=60766)

问题答案:

像这样尝试。

用于插入数据库

$db = mysqli_connect("localhost","root","","DbName"); //keep your db name
$image = addslashes(file_get_contents($_FILES['images']['tmp_name']));
//you keep your column name setting for insertion. I keep image type Blob.
$query = "INSERT INTO products (id,image) VALUES('','$image')";  
$qry = mysqli_query($db, $query);

用于从Blob访问图像

$db = mysqli_connect("localhost","root","","DbName"); //keep your db name
$sql = "SELECT * FROM products WHERE id = $id";
$sth = $db->query($sql);
$result=mysqli_fetch_array($sth);
echo '<img src="data:image/jpeg;base64,'.base64_encode( $result['image'] ).'"/>';

希望对您有帮助。

谢谢。



 类似资料:
  • 问题内容: 嗨,我的数据库中有一个图像表。这些与细节一起存储为Blob,例如图像类型和名称。 我在显示图像时遇到问题,我得到的只是一个带有红色十字的白框。码: 谢谢 问题答案: 好吧,这是一个简短的答案。 检查您的Blob类型是否至少为MEDIUMBLOB,它能够存储高达16M的数据

  • 问题内容: 我有一些数据存储在数据库中..我想在页面中显示存储的图像数据 以及其他 数据。 如果我从数据库中获取数据并使用其无法与其他PHP数据一起显示图像,是否还有其他方法? 问题答案: 阅读本文:显示存储在mysql blob中的图像

  • 问题内容: 我有一个代码可以显示员工图表。 数据(名称,电话,照片等)存储在SQLServer中,并通过JSP显示。可以正常显示数据,但图像.jpg(存储在IMAGE = BLOB列中)除外。 顺便说一句,我已经显示了图像(请参见下面的代码),但是我不知道如何将其放在.css定义的区域中(也请参见以下代码),因为图像是通过resultSet被加载到浏览器的整个页面中。 有谁知道我如何“构图”图像?

  • 问题内容: 我已经创建了一个表,其中已通过“ BLOB”保存了图像。我需要将这些图像与其他项目一起显示。但是我不知道如何在同一页面中一起显示这些图像。这是我的php代码,以表格形式显示其他内容。同样,我想相应地显示图像。有什么帮助吗? 问题答案: 正如其他人所提到的,将图像存储在数据库中通常不是一个好主意。 图像不会与另一个页面数据以相同的响应传输。 要显示数据库中的图像,您需要实现一个脚本,给定

  • 我刚刚开始了一个游戏服务器,并在我的网站上做了一个简单的排行榜,上面显示了玩家的统计数据。我面临的问题是它会在表中显示重复的行。 我的意思是: 这是我的代码。 null null 我会得到一些帮助的。我不想要重复的条目,如果用户名已经列出。 编辑:这里是我试图从其中提取的2个表

  • 我已将图像保存在oracle数据库中为BLOB。我的模型类包含Byte[]图像;对应于数据库中的BLOB feild。我必须将数据库中的所有图像导出为PDF格式。在java中,我使用了以下代码: 我需要PDF格式的图像。