CodeIgniter - Загрузка изображения через форму, сохранение местоположения изображения в базе данных
Я пытаюсь загрузить изображение на свой сайт через форму, однако гораздо эффективнее (вместо того, чтобы загромождать базу данных) просто сохранить местоположение изображения в базе данных.
У меня проблемы с формой, и я действительно не знаю, куда идти:
<?=form_open('bro/submit_new');?>
//other form data
Image: <input type="file" name="image" size="20" /> <br>
<input type="submit" value="Submit" />
</form>
Теперь сама форма работает нормально, проблема в том, что она пытается сохранить изображение в поле базы данных "изображение" (которое является типом ТЕКСТА). Какой самый простой способ сказать это, чтобы просто сохранить файл и дать расположение файла для хранения в поле "изображение"? (Я говорю ему, куда загрузить файл через контроллер).
Спасибо
Изменить: код контроллера (для этой части):
function submit_new(){
$config['upload_path'] = './images/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '2000';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload', $config);
$this->db->insert('post', $_POST);
redirect('bro');
}
3 answers
Класс загрузки файлов CodeIgniter сделает это за вас. Запись в их руководстве пользователя объясняет так хорошо, как я мог, поэтому я собираюсь указать вам на это.
По сути, вам просто нужно изменить контроллер, который у них есть, чтобы включить бит, в котором вы помещаете URL-адрес файла в базу данных, что вы можете легко сделать, используя $this->upload->data() и извлекая [full_path] из результирующего массива, а затем отправляя его в модель, которая обрабатывает базу данных вход.
Используйте страницы модели для загрузки данных в базу данных