如何在 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']) && 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中文网其他相关文章!