首页  >  文章  >  后端开发  >  如何在 PHP 中显示 MySQL 数据库中的 BLOB 图像?

如何在 PHP 中显示 MySQL 数据库中的 BLOB 图像?

Linda Hamilton
Linda Hamilton原创
2024-11-22 06:27:13403浏览

How to Display BLOB Images from a MySQL Database in PHP?

显示 MySQL 数据库中的 BLOB 图像

在寻求显示 MySQL 数据库中的 BLOB 图像时,您遇到了以下问题: PHP 页面将图像显示为二进制数据而不是实际图像。让我们深入研究解决此问题的解决方案。

您看到的错误源于缺少正确的“Content-Type”标头声明。该标头告知浏览器响应的预期数据类型。在您的情况下,您需要指定响应是“image/jpeg”类型的图像。

内联 Base64 编码(推荐用于有限图像)

对于少量图像,您可以使用内联 Base64 编码。实现方法如下:

echo '<dt><strong>Technician Image:</strong></dt><dd>'
     . '<img src="data:image/jpeg;base64,' . base64_encode($row2['image']) . '" width="290" height="290">'
     . '</dd>';

创建图像 PHP 文件(推荐用于大量图像)

如果您有大量图像要显示,更好的方法是创建一个单独的 PHP 文件来处理图像检索和输出。您的 HTML 和 PHP 文件将如下所示:

HTML:

<img src="image.php?id=<?php echo $image_id; ?>" />

PHP:

<?php
$id = (isset($_GET['id']) &amp;&amp; is_numeric($_GET['id'])) ? intval($_GET['id']) : 0;
$image = getImageFromDatabase($id); // your code to fetch the image

header('Content-Type: image/jpeg');
echo $image;
?>

通过正确指定“Content-Type”标头,您将指示浏览器将数据呈现为图像,从而解决您的显示问题问题。

以上是如何在 PHP 中显示 MySQL 数据库中的 BLOB 图像?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn