Php 使用CodeIgniter在mysql中存储和获取图像

Php 使用CodeIgniter在mysql中存储和获取图像,php,mysql,codeigniter,Php,Mysql,Codeigniter,我正在使用WAMP服务器,我想使用CI在数据库中上载图像。数据库中的图像变量为blob数据类型。我的问题如下: 1) 如何存储图像而不是文件名,我应该使用什么数据类型? 2) 如何从数据库中检索图像 我的控制器 public function index() { $this->load->model('contact_model'); if ($this->input->post('upload')) { $data['logo_na

我正在使用WAMP服务器,我想使用CI在数据库中上载图像。数据库中的图像变量为blob数据类型。我的问题如下: 1) 如何存储图像而不是文件名,我应该使用什么数据类型? 2) 如何从数据库中检索图像

我的控制器

public function index()
    {

    $this->load->model('contact_model');

    if ($this->input->post('upload')) {

    $data['logo_name']= $this->input->post('name');
    $data['logo_image']=$_FILES['userfile']['name'];


    if($this->contact_model->do_upload()) {

    echo $this->upload->display_errors();

    }else {

    $this->contact_model->Save_image($data);

        }
     }
        $data['getlogo']=$this->contact_model->getlogo();
        $this->load->view('templates/header',$data);
  }
我的模型

  function do_upload() {

$this-> gallery_path=realpath( APPPATH.'./uploads');

    $config = array( 
        'allowed_types' => 'jpg|png|bmp', 
        'upload_path'=>$this->gallery_path, 
        'max_size'=>2000
    );

    $this->load->library('upload',$config);

    if ($this->upload->do_upload()) {

        echo "Upload success!";         
        $image_data=$this->upload->data();
    }
    else 
        {
            echo "Upload failed!";
            echo $this->upload->display_errors();
        }

}  

    function getlogo(){

    $this->db->where('logo_id',3);
    return $this->db->get('logo');
}
function save_image($data){


    $q= $this->db->insert('logo', $in);
    return $q;
    }
我的看法

<?php foreach ($getlogo->result() as $row){ ?>
                <a href="#" style="padding-right:1px">
                <img src="<?php echo base_url();?>/application/uploads/<?php echo $row->logo_image;}?>"
                height="200px" width="500px" /></a>

按照以下步骤将文件保存到blob

和使用

<img src="data:image/jpeg;base64,<?php echo base64_encode($image['file_data'])?>'"/>
“/> 用于显示图像

可能重复的