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