php - 如何使用 PHP 和 MySQL 读取 Base64 格式的 blob?

标签 php html mysql blob

我是一个有 6 个月经验的新手,通过 StackEx/books/etc 自学。创建了一个相当不错的网站,可以登录/注册并通过 mySQL 存储一些信息。我已经浏览了这里的每一篇 BLOB 帖子,并且得到了一些不错的输出。

我认为我和大多数新手一样,知道的知识足够危险,没有奠定最坚实的基础,所以当认真理解内置函数、数组和传递参数时,我们可能会失去思路,我基本上我认为我通过使用包含来调用一些导航栏挖了一个洞,这样我就不能只使用标题来输出该死的图像,因为我在登录后回显用户名,所以它已经输出了行,这将是一个怪物撤消。三个级别的 nav、未验证、已验证和管理。

数据库连接和写入/读取正常。我可以存储 BLOB,甚至可以读回它并将数组存储在变量中,然后调试查看二进制文件,但我无法让它显示在 HTML 页面上。

有趣的是:

$stmt = $dbc2->query("SELECT * FROM equip1");

while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
$name = $row['equipname1'];
$desc = $row['equipdesc1'];
$img = $row['equipimg1'];
}

<div class="col-lg-12">
    <h1><?php echo $name ?></h1>
    <p><?php echo $desc ?></p>
    <pre>
        <?php print_r($img); ?>
    </pre>
    <?php echo "<img src='data:image/jpeg;base64," . base64_encode( $img ) . "' />"; ?>
</div>

$dbc2 连接 Equipment1 表是两个简单的 varchar 列,一个 BLOB 列。 $name 和 $desc 回显正常,$img 显示损坏的链接。 我通过预编码检查数组并根据上传期间存储在 dB 中的内容进行匹配。 从我读过的内容来看,似乎你不能同时执行此操作,除非通过数据 URI,我已经完成了此操作,但链接仍然损坏。对我来说根本没有意义。我尝试了 header ,当然输出已经开始,但我还可以看到输出了二进制文件。

这是 URI 方法的屏幕截图:

binary

由于这两种方法“似乎”都可以进入和退出 dB,但不显示,所以我在原地打转。请帮我在 html 页面上显示图像。我想在任何地方呼应它,然后我就可以设置页面的样式。谢谢!

最佳答案

尝试这样

<?php echo '<img src="data:image/png;base64,'.base64_encode($img).'">';?>

关于php - 如何使用 PHP 和 MySQL 读取 Base64 格式的 blob?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35585713/

相关文章:

php - 尝试解决有关查询中 ORDER BY 的问题

macos - MAMP 将其 php.ini 保存在哪里?

PHP 与多服务器

css - 单击链接后我的悬停已停用

css - 在所有页面中使用部分 html-body

python - IN子句中使用的mysql命名占位符在python中

php - 在父页面下移动帖子 - Wordpress

php - mySQL查询语法错误?

mysql - 如何根据记录的前缀自动递增字符数据类型?

html - Css 布局 Bootstrap 覆盖