$this->input->post('photo')
मॉडल में छवि जानकारी पुनर्प्राप्त करने के लिए काम नहीं करेगा। क्योंकि छवियों को $_FILES में संग्रहीत किया जाता है न कि $_POST में। तो आपको अपलोड लाइब्रेरी
का उपयोग करने की आवश्यकता है नीचे दिए गए कोडनिर्देशक में।
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);
}
छवि को पुनः प्राप्त करने के लिए नीचे दिए गए मॉडल में एक फ़ंक्शन लिखें।
public function get_image($id){
$this->db->where('id', $id);
$result = $this->db->get('userdetails');
header("Content-type: image/jpeg");
echo $result['image'];
}
और यह भी छवि को स्टोर करने और डेटाबेस से पुनर्प्राप्त करने के लिए एक अच्छा अभ्यास नहीं है। इसके बजाय छवि को एक फ़ोल्डर में संग्रहीत करने का प्रयास करें और नीचे की तरह डेटाबेस में पथ को संग्रहीत करें।
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);
}