我如何从数据库显示图像


How can I display images from the database

我有问题,显示存储在服务器中的图像(/uploads)和字段的名称存储在数据库中,并与用户id链接。

我的控制器:

function do_upload()
{
if($this->session->userdata('is_logged_in'))
{
$id = $this->session->userdata('id');
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|jpeg|png';
$config['max_size'] = '100';
$config['max_width']  = '1024';
$config['max_height']  = '768';
$config['overwrite'] = false;
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload())
{
$error = array('error' => $this->upload->display_errors());
$this->load->view("site_header");
$this->load->view("site_nav");
$this->load->view('upload_form', $error);
}else
{    
$data = $this->upload->data();
$file_array = $this->upload->data('file_name');
$profile['profile_picture'] = $file_array['file_name'];
$this->db->where('id', $id);
$this->db->update('users',  $profile);
$data['img']= base_url().'/uploads/'.$data['file_name'];
$this->load->view('upload_success', $data);
}

public function members(){
if($this->session->userdata('is_logged_in')){
   $this->load->model('loginmodel');
   $data = $this->loginmodel->getImage();
   print('/uploads/'.$data);
   $img = base_url().'/uploads/'.$data;
   $this->load->view("site_header");
   $this->load->view("site_nav");
   $this->load->view("members");
   $this->load->view("site_footer");
}else{.....

模型
function getImage()
{
$id = $this->session->userdata('id');
$this->db->select("*");
$this->db->from('users');
$this->db->where('id', $id);
$query = $this->db->get();
if($query->num_rows()==0)
echo("Picture not found!");
else{
$data = $query->row_array();
return $data['profile_picture'];
 }
}

视图:

<img src="<?php echo $img; ?>" border="0" width="10" height="10">

我得到这个错误:遇到PHP错误严重性:通知消息:未定义变量:img文件名:视图/members.php行号:19>

将数据传递给视图。

$data = array('img' => $img);
$this->load->view("members", $data);

您的查询可能不会返回数据,因为可能没有匹配尝试在视图中使用php的isset函数