$this->input->post('photo')
dalam model tidak akan berfungsi untuk mengambil informasi gambar. Karena gambar disimpan di $_FILES bukan di $_POST. Jadi, Anda perlu menggunakan upload library
di codeignitor seperti di bawah ini.
public function update_profile() {
$id = $this->session->userdata('id');
$this->load->model('edit_profile_model');
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload', $config);
$this->upload->do_upload();//upload the file to the above mentioned path
$this->edit_profile_model->update_db_user_info($id, $this->upload->data());// pass the uploaded information to the model
}
public function update_db_user_info($id, $imgdata) {
$imgdata = file_get_contents($imgdata['full_path']);//get the content of the image using its path
$data = array(
'fullname' => $this->input->post('fullname'),
'address' => $this->input->post('address'),
'state' => $this->input->post('state'),
'city' => $this->input->post('city'),
'pincode' => $this->input->post('pincode'),
'image' => $imgdata,
);
$this->db->where('id', $id);
$this->db->update('userdetails', $data);
}
Untuk mengambil gambar, tulis fungsi dalam model seperti di bawah ini.
public function get_image($id){
$this->db->where('id', $id);
$result = $this->db->get('userdetails');
header("Content-type: image/jpeg");
echo $result['image'];
}
Dan juga bukan praktik yang baik untuk menyimpan gambar dan mengambil dari database. Daripada itu coba simpan gambar di folder dan simpan path di database seperti di bawah ini.
public function update_db_user_info($id, $imgdata) {
$imgdata = $imgdata['full_path'];// get the path of the image
$data = array(
'fullname' => $this->input->post('fullname'),
'address' => $this->input->post('address'),
'state' => $this->input->post('state'),
'city' => $this->input->post('city'),
'pincode' => $this->input->post('pincode'),
'image' => $imgdata,// change the type of image from blob to varchar or text
);
$this->db->where('id', $id);
$this->db->update('userdetails', $data);
}