首页 >数据库 >mysql教程 >如何在 PHP 中正确显示来自 MySQL 的图像 BLOB?

如何在 PHP 中正确显示来自 MySQL 的图像 BLOB?

Barbara Streisand
Barbara Streisand原创
2024-12-14 12:47:14595浏览

How to Correctly Display Image BLOBs from MySQL in PHP?

PHP 从 MySQL 显示图像 BLOB

当尝试显示存储在 MySQL BLOB 列中的图像时,某些用户会遇到 Chrome 或IE 显示图像图标而不是实际图像。这可能是由于缺乏正确的编码和二进制图像数据的处理造成的。

解决方案

在 PHP 中显示图像 BLOB 的正确方法包括:

  • 准备数据:

    • 使用查询从 MySQL 数据库检索图像数据(例如 SELECT * FROM products WHERE id = ?)。
    • 将检索到的图像数据存储在一个变量(例如, $image).
  • 编码二进制数据:

    • 使用base64_encode()函数转换二进制图像数据转换为 Base64 编码的字符串。此步骤是将二进制数据编码为适合显示图像的格式所必需的。
  • 显示图像:

    • 设置适当的 HTTP 标头来指定图像类型(例如, image/jpeg)。
    • 输出base64编码的图像数据作为图像源。例如:
    header("Content-Type: image/jpeg");
    echo '<img src="data:image/jpeg;base64,' . base64_encode($image) . '" />';

注意:确保从数据库检索到的图像数据有效,并且前后没有空格字符在 之后标签。

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

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