我想问一个问题。
我的模型中有一个包含文件上传和图像处理的方法。代码工作正常,但唯一的问题是我无法弄清楚如何在控制器中恢复上传错误,以便将其传递给视图并将其显示给用户。
这是我模型中的代码:
class Foo_Model extends CI_Model
{
public function do_upload(){
$id = intval($this->input->post('id'));
$config = array(
'upload_path' => './uploads/files/',
'allowed_types' => 'gif|jpg|png',
'max_size' => '2048',
'max_width' => '800',
'max_heigth' => '300',
'overwrite' => true,
'file_name' => 'file_'.$id, // e.g. file_10.jpg
);
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload('file') ) {
return $this->upload->display_errors();
} else {
// file uploaded successfully
// now lets create some thumbs
$upload_file = $this->upload->data();
if ($upload_file['is_image']) {
$config['image_library'] = 'gd2';
$config['source_image'] = $upload_file['file_name'];
$config['create_thumb'] = TRUE;
$config['maintain_ratio'] = TRUE;
$config['width'] = 75;
$config['height'] = 50;
$this->load->library('image_lib', $config);
$this->image_lib->resize();
}
// uploading and resizing was done
return $upload_file;
// return true;
}
}
}
我的控制器中的代码
public function upload(){
$this->foo_model->do_upload();
// need to get the upload error (if any occured) or the upload data
// how can I get them back from function of the model?
$this->load->view('form_upload', $data);
}
答案 0 :(得分:0)
return
方法出现Model
个错误,因此请保留变量中的返回数据并检查error
或file_data
public function upload(){
$upload_data = $this->foo_model->do_upload();
//upload data will be return in array format
if(is_array($upload_data)){
$data['upload_file_info'] = $upload_data
}else{ /*error as string so if not array then always error*/
$data['error'] = $upload_data;
}
$this->load->view('form_upload', $data);
}