Ваша форма должна иметь атрибут multipart в файле HTML, как показано ниже:
Если вы используете помощник по формам, тогда он должен быть
<?php echo form_open_multipart('/save');?>
В противном случае ваша форма должна иметь энктипатрибут как ниже
<form enctype="multipart/form-data">
Тогда результат загруженных данных $ this-> upload-> data () придет в массив.Таким образом, вы не можете хранить свой массив в столбце mysql.Поэтому вам нужно получить имя файла из $ this-> upload-> data () и сохранить его в переменной, как показано ниже.
Ваш контроллер должен быть
public function save(){
$this->load->model('Partner_model');
$feature = $this->input->post('feature');
$config['upload_path'] = './uploads/files';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = 100;
$config['max_width'] = 1024;
$config['max_height'] = 768;
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload('image')){
$error = array('error' => $this->upload->display_errors());
$this->load->view('partner_profile', $error);
}else{
$imageArray = $this->upload->data();
$image = $imageArray['file_name'];
$user_data= array(
'pname' => $this->input->post('pname'),
'type' => $this->input->post('type'),
'address' => $this->input->post('address'),
'about' => $this->input->post('about'),
'city' => $this->input->post('city'),
'code' => $this->input->post('code'),
'state'=>$this->input->post('state'),
'feature'=>implode(",",$feature),
'image' => $image
);
}
if($this->Partner_model->save($user_data)) {
$msg = "save sucesss" ;
}else {
$msg = "not save";
}
$this->session->set_flashdata('msg', $msg);
$this->load->view('partner_profile');
}