Как загрузить данные в базу данных с помощью codeigniter - PullRequest
1 голос
/ 12 апреля 2019

Я хочу загрузить изображение в базу данных, используя codeigniter. Он сохранен в базе данных, но изображение не отправлено в заданный мной путь к папке, и только путь к изображению сохраняется в базе данных. Можете ли вы сказать мне, что делать или что-то я не так сделал? Вот мой код:

* Контроллер *


function saveEvent(){

        $config = [
            'upload_path' => './assets/img',
            'allowed_types' => 'gif|png|jpg|jppeg'
        ];

        $this->load->library('upload', $config);
        $this->form_validation->set_error_delimiters();
        $this->upload->do_upload();
        // var_dump('asd'. $this->upload->do_upload());
        // if($this->upload->do_upload()){
            $datas = $this->input->post('eventimage');
            $info = $this->upload->data();
            $image_path = "./assets/img/".$info['raw_name'].$info['file_ext'];
            $data['cal_events_image'] = $image_path;
            $data['cal_events_name'] = $this->input->post('eventname');
            unset($data['submit']);
            $this->load->model('CalendarModel');
            if($this->CalendarModel->eventinsertdata($data)){
                echo "success";
            }else{
                echo " fail";
            }

* Просмотр *


<form action="<?php echo base_url('index.php/CalendarController/saveEvent');?>" enctype="multipart/form-data" method="post" accept-charset="utf-8">
                <table class="table">
                    <tr>
                        <td>Event Type</td>
                        <td><input type="text" name="eventname"></td> 
                    </tr>
                    <tr>
                        <td>Image</td>
                        <td><input type="file" name="eventimage"></td>
                    </tr>
                    <tr>
                        <td colspan="2"><input type="submit" name="submitevent" value="Add Event" class="btn btn-success"></td>
                    </tr>
                </table>
            </form>

* Модель *

function eventinsertdata($data){
return $this->db->insert('table', $data);
     return $this->db->insert('dev_adkt_events_type', $data);
        echo 'hahay';

    }

Спасибо, ребята, заранее. Надеюсь, вы могли бы помочь мне с этим.

1 Ответ

1 голос
/ 12 апреля 2019

Я уже это решаю!вот мой ответ и он работает!

Контроллер


function saveEvent(){
        $config = array(
            'upload_path' => './assets/img',
            'allowed_types' => 'gif|png|jpg|jppeg'
        );

        get_instance()->load->library('upload', $this->config); 
        $this->load->library('upload', $config);
        $this->upload->initialize($config);
        $this->form_validation->set_error_delimiters();
        if($this->upload->do_upload('eventimage')){
            $data = $this->input->post('eventimage');
            $info = $this->upload->data();
            // var_dump($info);
            $image_path = "/assets/img/".$info['raw_name'].$info['file_ext'];
            $datas['cal_events_image'] = $image_path;
            $datas['cal_events_name'] = $this->input->post('eventname');
            unset($data['submit']);
            $this->load->model('CalendarModel');
            if($this->CalendarModel->eventinsertdata($datas)){
                // echo "success";
                redirect($_SERVER['HTTP_REFERER']);
            }else{
                echo $this->upload->display_errors(); 
            }
        }else{
            // echo 'shit';
            echo $this->upload->display_errors(); 
        }
    }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...