使用 PHP 显示存储在 mySQL 数据库中的图像

Posted

技术标签:

【中文标题】使用 PHP 显示存储在 mySQL 数据库中的图像【英文标题】:Display an image stored in mySQL database with PHP 【发布时间】:2015-10-26 07:32:09 【问题描述】:

我有一个包含 blob 图像的数据库。我想在网页中显示它们。我正在使用以下 php 代码来获取图像。但它不能正常工作。

<?php
        while($row=mysql_fetch_array($results))
        ?>
            <tr>
               <td><img src="<?php echo $row["image"]?>"  ></td>
            </tr>
            <?php
        ?>

通过这段代码,我得到了一个这样的网页。

我必须对我的代码进行更正。

【问题讨论】:

您需要更改 src 以指向一个脚本,该脚本将精确 blob 并设置正确的文件头 旁注:一般建议不要将文件存储在db中,而在文件系统中,只需将file-name\location存储在db中即可。 与***.com/questions/13225726/i-need-my-php-page-to-show-my-blob-image-from-mysql-database相同的问题 赞成和反对的论点已经排练得令人作呕。当然,替代模型更受欢迎,但不一定更合适。不管怎样,这个问题之前已经回答过了 【参考方案1】:

尝试将其转换为base64:

<img src="data:image/jpeg;base64,<?php echo base64_encode($row['image']); ?>"  >

请注意,您还应该将图像类型存储在数据库中,以便您可以动态更改“data:image/jpeg”。

【讨论】:

以上是关于使用 PHP 显示存储在 mySQL 数据库中的图像的主要内容,如果未能解决你的问题,请参考以下文章

考虑到我的图像的链接存储在 MySQL 数据库中,如何通过 php 显示存储在文件夹中的图像

使用PHP和MySQL存储和显示unicode字符串(हिन्दी)

如何使用php将图像存储在mysql数据库中

将日期和时间存储在 MySQL 数据库中以便以后使用 PHP 显示的最佳方法是啥?

显示存储为 MySQL 数据库中 BLOB 数据的所有图像

无法使用php显示mysql数据库中的特殊字符