Welcome Guest, Not a member yet? Register   Sign In
Fat models - skin controllers with File Uploading
#1

Hi all, I'd like to ask a question if possible regarding the "fat models - skin controllers" best practices.

I have inside my model a method that holds both file uploading and image manipulation. The code works ok, but the problem is I can't figure out how to get the upload error, if occured, back in the controller in order to pass it to the view and display it to the user, or the upload data if the uploading was done successfully.

This is an example of the code in my model:

PHP Code:
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;
        
}
    }


The code inside the controller

PHP Code:
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);


Thanks in advance
Reply


Messages In This Thread
Fat models - skin controllers with File Uploading - by Lykos22 - 12-22-2014, 03:23 AM



Theme © iAndrew 2016 - Forum software by © MyBB