繁体   English   中英

如何在Code点火器中将图像上传到数据库?

[英]How do you upload image into database in Code igniter?

我一直试图将图像上传到数据库(注意:我正在使用Codeigniter 3),但是每次我尝试将图像上传到数据库时,它都不存储文件名和图像本身,而仅存储1位在BLOB var类型中。

$photo = file_get_contents($_FILES['image']['tmp_name];
this->db->select('*')

[...]

if(empty($response){

   $data['entry_phone_no'] = $this->input->post('phone_no');
   $data['entry_email'] = $this->input->post('email');
   $data['entry_firstname'] = $this->input->post('first_name');
   $data['entry_lastname'] = $this->input->post('last_name');
   $data['entry_photo'] = $photo;
   $data['entry_photo_name'] = $photo;

在我的model.php中,我具有上面的设置,它保存了其他数据(电话号码,电子邮件等)。 我知道我在"$photo"部分缺少一些代码,但是有人可以指出吗?

您可以将图像上传到名为“ Uploads”的文件夹,然后将该文件名保存到数据库中,如下所示:

Views.php:

<input class="my-set_3" type="file" name="chatbot_profile" id="chatbot_profile" required>

Controller.php:

if (!empty($_FILES['chatbot_profile']['name']))
{

  $config['upload_path']          = './uploads';
  $config['allowed_types']        = 'gif|jpg|png';
  $config['max_size']             = 1000000;
  $config['file_name']           =  time();
  $this->load->library('upload', $config);
  if ( ! $this->upload->do_upload('chatbot_profile'))
  {
      $error = array('error' => $this->upload->display_errors());
  }
  else
  {
      $data = array('upload_data' => $this->upload->data());
      $file_name = $data['upload_data']['file_name'] ;
      // Store this filename into database
      // Your database code will be placed here
      // OR call model  mathod from here
  }
}

注意:上载文件夹将由我们在应用程序文件夹之外创建。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM