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');
}
Author: scrot, 2008-11-13

3 answers

Класс загрузки файлов CodeIgniter сделает это за вас. Запись в их руководстве пользователя объясняет так хорошо, как я мог, поэтому я собираюсь указать вам на это.

По сути, вам просто нужно изменить контроллер, который у них есть, чтобы включить бит, в котором вы помещаете URL-адрес файла в базу данных, что вы можете легко сделать, используя $this->upload->data() и извлекая [full_path] из результирующего массива, а затем отправляя его в модель, которая обрабатывает базу данных вход.

 8
Author: victoriah, 2008-11-13 20:09:39

Используйте form_open_multipart(), а не form_open()

 9
Author: , 2009-07-20 15:42:05

Используйте страницы модели для загрузки данных в базу данных

 -1
Author: abcdef, 2013-04-25 08:22:15