显示数据库中的BLOB图像yii 2

时间:2016-08-25 08:00:57

标签: php image yii2

您好我正在使用包含图像的blob图像的表和引用它的客户端列,问题是我如何根据clientid显示图像blob,以便我可以使用yii 2在网页中显示它?

这是表格的截图。

enter image description here

因为在这篇特别的文章中我得到的印象是它只是将图像上传为BLOB。 Yii2 Display image stored in BLOB database field

但是我该如何制作它以便我只返回/显示数据库中的blob?

编辑1

我将答案转换为yii代码。

控制器

public function DisplayBlob($clientid){
      $model = new Slimages();

      return $model->DisplayBlob($clientid);

    }

这是model.php

 public static function DisplayBlob($clientid){
    return static::find()->where(['clientid' => $clientid])->asArray()->all();
 //     $db = $db = mysqli_connect("localhost","root","","myenrollment"); //keep your database name
 //     $sql = "SELECT * FROM slimages WHERE clientid = $clientid"; // pass your clientid here
    // $statement = $db->query($sql);
    // $result = mysqli_fetch_array($statement);
    // return $result;
    //echo '<img src="data:image/jpeg;base64,'.base64_encode($result['Picture'] ).'"/>';
  }

查看档案

 <td colspan="2"><?php 
            $result = SiteController::DisplayBlob($_user);
            foreach($result as $image){
             // echo  'hello';
                echo '<img src="data:image/jpeg;base64,'.base64_encode($image['Picture'] ).'" height="100" width="100"/>';
            }


            ?></td>

1 个答案:

答案 0 :(得分:1)

$db = mysqli_connect("localhost","root","","database"); //keep your database name
$sql = "SELECT * FROM table_name WHERE clientid = $id"; // pass your clientid here
$statement = $db->query($sql);
$result = mysqli_fetch_array($statement);
echo '<img src="data:image/jpeg;base64,'.base64_encode($result['Picture'] ).'"/>';

注意:请根据您的要求更改数据库详细信息,表格和列名称。

我希望这会对你有所帮助。随意评论。