Я искал много примеров, и я сделал что-то, что я могу сделать.CodeIgniter: Как я могу сохранить имя фотографии в базе данных?
Я построю регистрационную форму. Будет пять текстовых полей, а также раздел загрузки фотографий.
что я сделал
- текстовые поля хранятся в базе данных. Здесь показано только одно поле. (Успешно)
- Фото хранится в папке после представленного вида (успешно)
Мне нужно, чтобы ты помог мне
- Названия фотографии не хранятся в базе данных. он сохраняется в папке.
Коды ниже.
Модель
public function registration($post)
{
$this->db->insert('registration', $post);
}
Контроллер
function do_upload()
{
$post = $this->input->post();
$this->form_validation->set_rules('Name','Name','trim|required|xss_clean');
$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);
if (! $this->upload->do_upload())
{
$error = array('error' => $this->upload->display_errors());
$this->load->view('example/registration_form', $error);
}
else
{
$data = array('upload_data' => $this->upload->data());
$result = $this->register_model->registration($post);
$this->load->view('upload_success', $data, $result);
}
}
Посмотреть
<?php echo form_open_multipart('upload/do_upload');?>
<input type="file" name="userfile" size="20" />
<br />
<input type="text" name="name" class="form-control" placeholder="Your name">
<input type="submit" value="upload" />
</form>
Это PHOTO_NAME в базе данных. Он будет написан на контроллере или модели? Как мне сделать в основном?
Спасибо за комментарий. Коды, которые вы написали, будут в файле модели или контроллера? – Baris
В успешной части '$ this-> upload-> do_upload()' это просто основной способ сделать это. – user4419336
Я понял, что вы говорили о массиве после того, как я увидел библиотеку для загрузки :) Это сработало! Благодарю. – Baris