【问题标题】:Using PHP (PDO) to show image (blob) from mysql database in HTML image tag使用 PHP (PDO) 在 HTML 图像标记中显示来自 mysql 数据库的图像 (blob)
【发布时间】:2019-07-05 10:31:10
【问题描述】:

我的代码有一个小问题。 我正在尝试使用 php (pdo) 在我的主页上显示我的数据库中的图像。 问题是:我真的不知道如何在 HTML img 标签中插入图像的变量。 我的错误在哪里/我该如何解决?

我将 mysql 数据库中的图像保存为 blob (largeblob),所有图像都是 .jpg 和/或 .png

<?php
  $db = new Dbh;
  $pdo = $db->connect();
  $counter = 0;
  $content = "";

  $statement = $pdo->prepare('SELECT * FROM images');
  $statement->execute();

  while ($row = $statement->fetch()) {          ?>

    <img src = "<?php echo $row['image']; ?>">

  <?php         }       
 ?>

现在发生的事情是,html只是显示了某种充满奇怪符号的位代码

提前感谢您的帮助!

【问题讨论】:

  • 假设为 jpeg,根据需要进行更改。 echo '&lt;img src="data:image/jpeg;base64,'.base64_encode($row['image']).'"/&gt;';
  • 如果您的图像被存储为 blob,src 属性将无法正常工作。这是一种使用 javascript 呈现 blob 图像的方法:stackoverflow.com/questions/7650587/…。请注意,使用id 作为选择器,因为此示例在循环结构中不起作用,因此您可能希望使用一个类来代替,并动态设置一个递增每个循环迭代的类标识符(例如,$classname = 'myimage-' . $i++;)跨度>

标签: php html css mysql sql


【解决方案1】:

这应该可以工作

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

【讨论】:

    猜你喜欢
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    • 2016-09-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 2014-03-19
    相关资源
    最近更新 更多