Я пытаюсь загрузить изображение на свой сайт с помощью формы, однако гораздо эффективнее (а не боловаться по базе данных) просто сохранить местоположение изображения в базе данных.
У меня проблемы с моей формой, и я действительно не знаю, куда идти:
<?=form_open('bro/submit_new');?> //other form data Image: <input type="file" name="image" size="20" /> <br> <input type="submit" value="Submit" /> </form>
Теперь сама форма прекрасно работает, проблема заключается в том, что она пытается сохранить изображение в поле базы данных «образ» (это тип TEXT). Какой самый простой способ сказать ему просто сохранить файл и предоставить местоположение файла для хранения в поле «изображение»? (Я рассказываю, где загрузить файл через контроллер).
благодаря
Изменить: код контроллера (для этой части):
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'); }
Класс загрузки файлов CodeIgniter сделает это за вас. Запись в руководстве пользователя объясняет так же хорошо, как я мог, поэтому я собираюсь указать вас туда.
По существу вам просто нужно изменить контроллер, который у них есть, чтобы добавить бит, в который вы помещаете URL-адрес файла в базу данных, что вы можете легко выполнить, используя $ this-> upload-> data () и извлекая [full_path] из результирующего массива, а затем отправить его в модель, которая обрабатывает ввод базы данных.
используйте form_open_multipart () not form_open ()
использовать страницы модели для загрузки данных в базу данных