【问题标题】:PHP Display all images from DB in a img tagg - PDOPHP 在 img 标签中显示 DB 中的所有图像 - PDO
【发布时间】:2016-11-11 03:13:33
【问题描述】:

我试图在数据库的<img> 中显示所有图像,但我只得到一个损坏的图像! 我将 ['tmp_name'] 存储为 LONGBLOB,将 ['name'] 存储为表格中的类型。

  $query = $this->connection->prepare("SELECT * FROM images");
                $query->execute();


                    $row = $query->fetchAll();

                    foreach($row as $img){
                        echo "<pre>";var_dump($img['name']);"</pre>";

                        echo "<img src=".$img["name"].">";
                    }

                    //header("Content-type: ".$row['type']);
                    print $row['name'];
                    die();

我应该在&lt;img&gt; 中使用 ['tmp_name'] 还是 ['name']?

【问题讨论】:

  • 您首先在服务器上存储了一个文件。仅存储临时名称不会使文件本身存储
  • 请阅读有关文件上传的 PHP 教程。
  • var_dump($img['name']) 是文件的名称你的意思是我必须在我的服务器上存储一个文件?
  • 您对我所看到的一切都很困惑,请尝试获取有关文件上传的教程。不清楚你想要什么。您想将图像存储在数据库 blob 中,或将其存储在服务器上并将其路径存储在 db 中,等等...
  • ['tmp_name']?您是否将 $_FILES 填充到数据库中?这只是关于上传的信息,而不是实际上传的信息,并且 $_FILES 中的任何信息都不会让您通过&lt;img&gt; 标签直接访问上传的图像。您需要将上传文件移动到您的文档根目录中,存储该路径,然后该路径就是您放入 &lt;img src=...&gt; 的内容

标签: php mysql image pdo blob


【解决方案1】:

&lt;img src=""&gt; 应包含成功上传图片的完整服务器路径。还应包括图像扩展名(.jpg、.png、.gif)。应该类似于以下内容。

&lt;img src="http://ichef.bbci.co.uk/images/ic/160xn/p0306tt8.png"&gt;

最简单的方法是检查页面的源代码,看看你是否获得完整/正确的图像路径。如果没有,请检查/更改您的代码是否缺少部分。

【讨论】:

    猜你喜欢
    • 2019-02-05
    • 1970-01-01
    • 2021-11-30
    • 2022-01-24
    • 2012-05-17
    • 1970-01-01
    • 2023-03-29
    • 2015-04-25
    • 2014-09-29
    相关资源
    最近更新 更多