Utworzyłem formularz który składa się z pola do uploadu i wpisania nazwy klienta.
Mam problem z tym aby nazwa uploadowanego pliku zapisywała się w bazie danych. Chciałbym żeby nazwa wgrywanego pliku również zapisywała się do bazy danych tak aby można było całość wyświetlać w widoku.
Prosiłbym o jakąs małą podpowiedź ponieważ jestem początkujący w temacie codeignitera.
Poniżej wklejam kod swoich plików odpowiedzialnych za upload i zapis.
controller: portfolio.php
class Portfolio extends CI_Controller { public function __construct() { parent::__construct(); $this->load->library('pagination'); $this->load->model('Portfolio_model'); $this->load->helper('form'); $this->load->library('form_validation'); } public function dodaj_prace() { $config['upload_path'] = './images/portfolio/miniatury'; $config['allowed_types'] = 'gif|jpg|png'; $this->load->library('upload', $config); if ( ! $this->upload->do_upload()) { } else { } $rules['klient'] = "required"; $this->form_validation->set_rules($rules); if ($this->form_validation->run() == FALSE) { $data['klient']['value'] = $this->input->post('klient'); $this->load->view('home_view', $data); } else { } }
model: Portfolio_model.php
function dodaj_prace($data) { return $this->db->insert('portfolio', $data); }
widok: home_view.php
<form method="post" accept-charset="utf-8" action="index.php/portfolio/dodaj_prace" /><Br /> Wybierz plik: <br /> <input type="file" name="userfile" size="20" /><br /><br /> Wpisz nazwę klienta:<br />