Я пытаюсь загрузить пути к изображениям для разных пользователей в базу данных. Я совершенно новичок в Codeigniter, и я читал много учебников, но я борется с порогами. Это мой контроллер, но я даже не знаю, как связать изображение с пользовательским сеансом.
Вот мой код:
function do_upload() { $config['upload_path'] = './uploads/'; $config['allowed_types'] = 'gif|jpg|jpeg|png'; $config['max_size'] = '100'; $config['max_width'] = '1024'; $config['max_height'] = '768'; $config['overwrite'] = false; $this->load->library('upload', $config); if ( ! $this->upload->do_upload()) { $error = array('error' => $this->upload->display_errors()); $this->load->view('upload_form', $error); }else { $data = $this->upload->data(); $file_array = $this->upload->data('file_name'); $profile['profile_picture'] = $file_array['file_name']; $this->db->where('username', $this->input->post('username')); $this->db->update('users', $profile); $this->load->view('upload_success', $data); } }
В моей базе данных есть таблица с именем users, а 'profile_picture' – поле для пути. Когда я загружаю изображение, я просто получаю все поля моих пользователей, заполненные одним и тем же именем файла.
спасибо за советы, ребята, которых я решил так:
function do_upload(){ if($this->session->userdata('is_logged_in')) { $id = $this->session->userdata('id'); $config['upload_path'] = './uploads/'; $config['allowed_types'] = 'gif|jpg|jpeg|png'; $config['max_size'] = '100'; $config['max_width'] = '1024'; $config['max_height'] = '768'; $config['overwrite'] = false; $this->load->library('upload', $config); if ( ! $this->upload->do_upload()) { $error = array('error' => $this->upload->display_errors()); $this->load->view("site_header"); $this->load->view("site_nav"); $this->load->view('upload_form', $error); }else{ $data = $this->upload->data(); $file_array = $this->upload->data('file_name'); $profile['profile_picture'] = $file_array['file_name']; $this->db->where('id', $id); $this->db->update('users', $profile); $this->load->view('upload_success', $data); } }else{ $this->load->view("site_header"); $this->load->view("site_nav"); $this->load->view("login_view"); $this->load->view("site_footer"); } }
Если ваше использование имеет идентификатор, просто сделайте imagePath = /upload/avatar/'.$userID.'.jpg 'или используйте произвольное имя файла и сохраните его как новое поле