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

时间:2019-07-15 03:23:51

标签: php codeigniter image-uploading

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

$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"部分丢失了一些代码,但是有人可以指出吗?

1 个答案:

答案 0 :(得分:0)

您可以将图像上传到名为“ 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
  }
}
  

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