Welcome Guest, Not a member yet? Register   Sign In
File upload validation
#29

[eluser]stef25[/eluser]
pistolpete, thanks for your reply.

regarding the availability of the area from my callback function back to create() - how do you create a class variable?

below is my class Admin

print_r($this->_data); inside _do_upload() prints out the array with the image data - that works.

strangely enough, the
Code:
print "test" . print_r($this->_data);
in create() prints out "test1". where does the "1" come from?

ive played around with public $_data, private $_data but this doesnt make a difference. im also not sure if the function __construct() is required.

any help would be much appreciated!


Code:
class Admin extends Controller {
        
        public $_data;
    
    function __construct() {
            parent::Controller();
       }
        
        function index() {
        
            ... some code here ...              
        }
            
            
        function create() {                        
            
            print "test" . print_r($this->_data);
            
            $attributes['page_title'] = "Admin";
            $attributes['products'] = $this->M_Products->getAllProductsSidebar();
            $attributes['feedback'] = "";
            $attributes['subtitle'] = "";
            $attributes['form_open'] = array('name' => 'post_new');
            
            //validation
            $this->form_validation->set_rules('prod_name', 'product name', 'trim|required');
            $this->form_validation->set_rules('prod_img', 'product image', 'callback__do_upload');    
            $this->form_validation->set_rules('prod_descr_long', 'long description', 'trim|required');
            $this->form_validation->set_rules('prod_aff_link', 'affiliate link', 'trim|required');    
            
            if($this->form_validation->run() == FALSE) {                
                //send back to the view
                $attributes['prod_name'] = $this->input->post('prod_name');
                $attributes['prod_descr_long'] = $this->input->post('prod_descr_long');
                $attributes['prod_aff_link'] = $this->input->post('prod_aff_link');    
            
                $this->load->view('admin_view', $attributes);    
            }
            else {                
                $this->M_Products->createProduct($attributes);
                $this->load->view('admin_view', $attributes);
            }        
          }          
          
          function _do_upload($file) {
            $config['upload_path'] = '/Applications/MAMP/htdocs/my-site/images/_uploads/';
            $config['allowed_types'] = 'jpg|gif|jpeg|png';
            $config['max_size']    = '2000';
            $this->load->library('upload', $config);
              
            $field_name = "prod_img"; //see http://ellislab.com/codeigniter/user-guide/libraries/file_uploading.html
            if (!$this->upload->do_upload($field_name)) {
                $this->form_validation->set_message('_do_upload', $this->upload->display_errors());
                return FALSE;
            }    
            else {    
            
                //array with data from uploaded (not processed!) image
                //$image_data = $this->upload->data();
                $this->_data = $this->upload->data();
            
                //process & resize image
                $config['source_image'] = $config['upload_path'].$_FILES['prod_img']['name'];
                $config['maintain_ratio'] = TRUE;
                $config['height'] = 200;
                $config['create_thumb'] = TRUE;
                
                $this->load->library('image_lib', $config);
                $this->image_lib->resize();
                
                if($this->image_lib->resize() !== TRUE) {
                    print $this->image_lib->display_errors();
                    //exit;
                }
                print_r($this->_data);
                //return TRUE;                          
            }        
          }
?>


Messages In This Thread
File upload validation - by El Forum - 02-23-2009, 05:24 PM
File upload validation - by El Forum - 02-23-2009, 05:37 PM
File upload validation - by El Forum - 02-24-2009, 06:36 PM
File upload validation - by El Forum - 02-24-2009, 08:20 PM
File upload validation - by El Forum - 02-25-2009, 05:18 AM
File upload validation - by El Forum - 02-25-2009, 05:36 AM
File upload validation - by El Forum - 02-25-2009, 05:40 AM
File upload validation - by El Forum - 02-25-2009, 06:14 PM
File upload validation - by El Forum - 03-22-2009, 11:40 AM
File upload validation - by El Forum - 03-22-2009, 12:23 PM
File upload validation - by El Forum - 03-22-2009, 12:29 PM
File upload validation - by El Forum - 03-22-2009, 03:33 PM
File upload validation - by El Forum - 03-22-2009, 04:07 PM
File upload validation - by El Forum - 03-22-2009, 04:31 PM
File upload validation - by El Forum - 03-22-2009, 04:52 PM
File upload validation - by El Forum - 03-22-2009, 05:00 PM
File upload validation - by El Forum - 03-22-2009, 05:06 PM
File upload validation - by El Forum - 03-28-2009, 09:32 AM
File upload validation - by El Forum - 03-28-2009, 09:37 AM
File upload validation - by El Forum - 03-28-2009, 10:50 AM
File upload validation - by El Forum - 04-11-2009, 11:31 AM
File upload validation - by El Forum - 04-11-2009, 11:44 AM
File upload validation - by El Forum - 04-11-2009, 12:09 PM
File upload validation - by El Forum - 04-11-2009, 12:19 PM
File upload validation - by El Forum - 04-11-2009, 12:33 PM
File upload validation - by El Forum - 04-11-2009, 05:39 PM
File upload validation - by El Forum - 04-12-2009, 02:41 AM
File upload validation - by El Forum - 04-12-2009, 05:08 AM
File upload validation - by El Forum - 04-12-2009, 08:17 AM
File upload validation - by El Forum - 04-12-2009, 10:50 AM
File upload validation - by El Forum - 10-23-2009, 10:09 AM
File upload validation - by El Forum - 10-23-2009, 10:44 AM
File upload validation - by El Forum - 12-23-2010, 10:56 PM
File upload validation - by El Forum - 02-27-2011, 11:10 AM



Theme © iAndrew 2016 - Forum software by © MyBB