установка $ this-> data в методе затем сбрасывается - PullRequest
0 голосов
/ 02 февраля 2012

Я загружаю изображение с codeigniter, и в методе, который я делаю следующим образом,

if(isset($_FILES['product_image']['name'])) {
            //some setup needed
            $config['upload_path'] = "./media/images/products";
            $config['allowed_types'] = "png|gif|jpg|jpeg";
            $config['max_width'] = 1490;
            $config['max_height'] = 400;
            //make sure the library is running with clean config
            $this->upload->initialize($config);
            //do the upload
            if(!$this->upload->do_upload('product_image')){
                $this->data['image_error'] = $this->upload->display_errors();
                $this->template->build('/admin/products/create', $this->data);
            } else {
                $this->data['image_data'] = $this->upload->data();
                //die(print_r($this->data));
                $this->template->build('/admin/products/create', $this->data);
            }
        }

, поэтому в основном я проверяю, есть ли что-то в $ _FILES, а затем загружаю, если естьприсваивая $this-data['image_data'] с данными загрузки по пути.Однако когда я прихожу для обработки данных, т.е. сохранения имени файла в базе данных, я не могу получить доступ к $this->data['image_data'] ниже, как я пытаюсь его использовать,

if($this->input->post("submit_create") == "Save") {
    die(print_r($this->data['image_data']));
}

, однако я получаю следующую ошибку,

Сообщение: неопределенный индекс: image_data

Почему это, хотя я назначил вещи в $ this, сделал их доступными не только для метода, но и для всего контроллера?

1 Ответ

0 голосов
/ 02 февраля 2012

Я думаю, когда вы печатаете image_data в данный момент в вашем примере:

if($this->input->post("submit_create") == "Save") {
    die(print_r($this->data['image_data']));
}

Вы должны использовать $image_data вместо:

if($this->input->post("submit_create") == "Save") {
    die(print_r($image_data));
}
...