Я создаю сценарий загрузки изображений (впервые) в Codeigniter, и у меня так получается, что если форма загрузки изображений проходит проверку, она выполняет следующий код в модели:
public function upload($id) //function to handle the initial image upload before crop
{
$config['image_library'] = 'gd2';
$config['source_image'] = '/path/to/image/mypic.jpg';
$config['create_thumb'] = TRUE;
$config['maintain_ratio'] = TRUE;
$config['width'] = 75;
$config['height'] = 50;
$this->load->library('image_lib', $config);
$this->image_lib->resize();
$config['upload_path'] = 'images/uploads/temp/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '2048';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload', $config);
$file_data = $this->upload->data();
if ( ! $this->upload->do_upload() )//the default parameter of do_upload() is 'userfile' (meaning the name of the form input)
{
$error = '<p>Upload failed!</p> <p>Please make sure the image is in a .jpg, .gif or .png format and that it\'s no larger than 1028 x 768 pixels in dimension. Also it can\'t be more than 2MBs in size. If this problem persists, please contact <a href="mailto:webmaster@dreamsy.org">webmaster@dreamsy.org</a>.</p>';
$this->session->set_flashdata('error', $error);
redirect(base_url().'community/upload_image');
}
else
{
$image_path = base_url().'images/uploads/temp/'.$file_name;
//$data = array( 'upload_data' => $this->upload->data() );
//$this->load->view('community/upload_success');
$this->load->helper('form', 'url');
$vars['id'] = $this->uri->segment(3);
$vars['$image_path'] = $image_path;
$vars['$file_data'] = $file_data;
$this->load->vars($vars);
$this->template->write_view('content', 'community/upload_success');
$this->template->render();
}
}>template->render(); //template library
Но когда я вызываю загруженные переменные (через load-> vars ()), они не загружаются, и когда загружается страница, я получаю ошибки "undefined variable". Я подозреваю, что невозможно передать переменные из модели в представление, даже когда представление загружено из модели, как я делал выше. Или, может быть, я просто что-то делаю неправильно (так как я немного n00b).
Ты бы даже пошел по этому маршруту? Имеет ли смысл передавать переменные в контроллер, а затем загружать представление из контроллера? Или что-то еще, что я не учел вообще? LOL
Любая помощь очень ценится. Заранее спасибо.
* редактировать:
У меня также есть переменная $ image_path внутри