views:

34

answers:

1

hello

i want to use upload library, but i want to use it in 2 separate uploads .. for example avatar and profile picture. each one of them has it's configs .... my application is v.big so it's better to save the upload configs library in a config file. but how can i save 2 configs in the same config file and load 1 of them at a time?

Thanks

+1  A: 

You could use a helper to return the relevant config:

// /system/application/helpers/upload_config_helper.php
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
if ( ! function_exists('upload_config')){
    function upload_config($conf){
        switch($conf){
            case 'avatar':
                $config['allowed_types'] = 'png|jpg';
                $config['max_size'] = '1000';
                $config['max_width']  = '1024';
                $config['max_height']  = '768';
                $config['upload_path'] = '/avatars';
                return $config;
            break;
            case 'profile_pic':
                $config['allowed_types'] = 'jpg|gif';
                $config['max_size'] = '1000';
                $config['max_width']  = '1024';
                $config['max_height']  = '768';
                $config['upload_path'] = '/profile/pics';
                return $config;
            break;
        }
    }   
}
?>

then in your controller :

$this->load->helper('upload_config_helper');
$avatar_config=upload_config('avatar');

$this->load->library('upload', $avatar_config);
$this->upload->initialize($avatar_config);
stormdrain