PHP mySQL 将字符串转换为 png 仅适用于第一张图像

标签 php mysql string image blob

所以我试图显示一堆保存在 mysql 数据库中的照片。使用我正在使用的代码,页面仅显示数据库中的第一张照片,没有其他内容。有 5 张不同的照片,我不知道它们去哪里了。如果有人可以提供帮助那就太好了。我的代码在这里:

    while($imageRow = mysql_fetch_array($imageResults)){
        $data = $imageRow['image_data'];
        $data = base64_decode($data);

        $im = imagecreatefromstring($data);
        if ($im !== false) {
            header('Content-Type: image/png');
            imagepng($im);
            imagedestroy($im);
        }
    }

最佳答案

标题每页仅显示一张图像。

你可以尝试:

while($imageRow = mysql_fetch_array($imageResults)){
    $data = $imageRow['image_data'];
    print '<img src="data:image/png;base64,'.$data.'" />';
}

这尚未经过测试,但类似的东西应该可以工作。

更好的方法是将图像文件存储在磁盘上并将位置存储在数据库中。

关于PHP mySQL 将字符串转换为 png 仅适用于第一张图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17475163/

相关文章:

.net - 托管 C++ 中的逐字文字? (比如 C#'s @"废话)

javascript - PHP 的 `hex2bin` 的 Node.js/JS 实现返回错误结果。如何得到相同的结果?

php - MySQL select 语句不返回行

php - 我的 MySQL 数据库被删除,我认为这是 SQL 注入(inject),我哪里错了?

php - 带下拉菜单的搜索表单

mysql - 尝试此查询时出现 SQL 错误

mysql - excel自动公式计算

php - 多个输入字段上的 Jquery 日期选择器

c# - 如何在 C# 中将 List<string> 转换为 ReadOnlyCollection<string>

c++ - 字符串变量在 Eclipse CDT 中不起作用