PHP从数据库中显示blob

问题描述 投票:0回答:2

我只是想在我的网页中显示我的DB blob,以制作一张个人资料图片,但它不工作,它在一个完整的标签中显示我的img,但我想把我的img作为一个标签来显示我的网页中的其他信息。

public function getBlob(){
    $stmt = MyPDO::getInstance()->prepare("SELECT * FROM prj_img where id = 1 ");
    $stmt->bindParam(1, $_GET['id']);
    $stmt->execute();


    $blob= $stmt->fetch();
    $img = $blob['name']; //myBlob
    header("Content-type: image/jpeg");
    echo $blob['data'];
} 
php blob
2个回答
0
投票

如果你的图片真的是以blobs的形式存储在DB中的(这是不寻常的),那么你需要一个脚本来将它们显示为图片,然后从那里获取你的图片。

所以你发布的代码(它有一个 image/jpeg header)应该是一个独立的图片页面。例如: get_image.php.

然后你可以使用 <img src="get_image.php" /> 在其他页面上。

当然,你可能需要一些输入来决定显示哪张图片,这也需要输入验证。


0
投票

你应该尝试使用img标签来显示DB blob中的图片,如下所示

public function getBlob(){
    $stmt = MyPDO::getInstance()->prepare("SELECT * FROM prj_img where id = 1 ");
    $stmt->bindParam(1, $_GET['id']);
    $stmt->execute();


    $blob= $stmt->fetch();
    $img = $blob['name'];
    echo '<img src="data:image/jpeg;base64,'.base64_encode($img) .'" />';
} 
© www.soinside.com 2019 - 2024. All rights reserved.