首页 > 数据库 > mysql教程 > 如何在 PHP 中显示来自 MySQL 的 BLOB 图像:Base64 编码与单独的图像文件?

如何在 PHP 中显示来自 MySQL 的 BLOB 图像:Base64 编码与单独的图像文件?

DDD
发布: 2024-12-10 17:21:10
原创
427 人浏览过

How to Display BLOB Images from MySQL in PHP: Base64 Encoding vs. Separate Image File?

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

您尝试在 PHP 中显示来自 MySQL 数据库的 BLOB 图像,但遇到错误。让我们探讨一下解决该问题的两个选项:

选项 1:内联 Base64 编码

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

此方法将 BLOB 图像编码为 Base64 字符串并直接嵌入到 HTML 中。但是,对于大量图像,不建议使用此方法。

选项 2:图像输出 PHP 文件

使用以下代码创建 image.php 文件:

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

header('Content-Type: image/jpeg');
echo $image;
?>
登录后复制

在 HTML 中:

<img src="image.php?id=<?php echo $image_id; ?>" />
登录后复制

此方法从数据库中检索图像并将其直接发送到浏览器,确保设置正确的 MIME 类型(image/jpeg)。标题行:

header('Content-Type: image/jpeg');
登录后复制

指示浏览器将输出解释为图像并相应地显示它。这消除了您遇到的二进制 JPEG 数据问题。

以上是如何在 PHP 中显示来自 MySQL 的 BLOB 图像:Base64 编码与单独的图像文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板