У меня есть форма для добавления компаний в мою базу данных. Я добавил поле под названием Logo. Я хочу использовать это поле, чтобы пользователь мог загрузить логотип для своей компании. Я использую класс загрузки Codeigniter в своей форме.
Стол моей компании выглядит так:
Companies --------- id companyname address postalcode country email website logo
Моя форма выглядит так:
<tr> <td><?= form_label('Bedrijfsnaam:');?></td> <td><?= form_input('Bedrijfsnaam');?><small> (Spaties niet toegestaan)</small></td> </tr> <tr> <td><?= form_label('Adres:');?></td> <td><?= form_input('Adres');?></td> </tr> <tr> <td><?= form_label('Postcode:');?></td> <td><?= form_input('Postcode');?></td> </tr> <tr> <td><?= form_label('Plaats:');?></td> <td><?= form_input('Plaats');?></td> </tr> <tr> <td><?= form_label('Telefoonnummer:');?></td> <td><?= form_input('Telefoonnummer');?></td> </tr> <tr> <td><?= form_label('Website:');?></td> <td><?= form_input('Website');?></td> </tr> <tr> <td><?= form_label('Email:');?></td> <td><?= form_input('Email');?></td> </tr> <tr> <td><?= form_label('Profiel:');?></td> <td><?= form_textarea('Profiel');?></td> </tr> <tr> <td><?= form_label('Categorieen:'); ?></td> <td><?= form_dropdown('categorieen', $opties); ?></td> </tr> <tr> <td><?= form_label('Logo:'); ?></td> <td><input type="file" name="logo" size="20" /></td> </tr> <tr> <td><?= form_submit('submit', 'Opslaan');?> <?= form_reset('reset', 'Reset');?></td> </tr>
Моя модель выглядит так:
$data1 = array( 'Bedrijfsnaam' => $this->input->post('Bedrijfsnaam'), 'Postcode' => $this->input->post('Postcode'), 'Plaats' => $this->input->post('Plaats'), 'Telefoonnummer' => $this->input->post('Telefoonnummer'), 'Email' => $this->input->post('Email'), 'Website' => $this->input->post('Website'), 'Profiel' => $this->input->post('Profiel'), 'Adres' => $this->input->post('Adres'), 'logo' => $this->input->post('logo') ); $this->db->insert('bedrijven',$data1);
Я знаю, что это не сработает, но я не могу понять, как это сделать.
У меня есть другой формат загрузки, но это только для загрузки изображений, а не для логотипа.
Каков наилучший способ сделать это с помощью класса загрузки?
РЕДАКТИРОВАТЬ:
Когда я добавляю новую компанию, я получаю пустое поле.
Мой контроллер:
function addbedrijven() { $config['upload_path'] = './assets/uploads/'; $config['allowed_types'] = 'gif|jpg|png'; $config['max_size'] = '1000'; $config['max_width'] = ''; $config['max_height'] = ''; $config['overwrite'] = TRUE; $config['remove_spaces'] = TRUE; $this->load->library('upload', $config); if($this->upload->do_upload('logo')){ $logo_image_data = $this->upload->data(); } $this->members_model->addbedrijf(); redirect('members/index'); }
Моя модель:
function addbedrijf() { $logo_image_data = $this->upload->data(); $data1 = array( 'Bedrijfsnaam' => $this->input->post('Bedrijfsnaam'), 'Postcode' => $this->input->post('Postcode'), 'Plaats' => $this->input->post('Plaats'), 'Telefoonnummer' => $this->input->post('Telefoonnummer'), 'Email' => $this->input->post('Email'), 'Website' => $this->input->post('Website'), 'Profiel' => $this->input->post('Profiel'), 'Adres' => $this->input->post('Adres'), 'logo' => $logo_image_data['full_path'] ); $this->db->insert('bedrijven',$data1); }