2010-10-08 43 views

回答

3

我认为这是没有更多钞票去做,手册上说:

设置首选项在配置文件中

如果你不喜欢使用上述方法来设置首选项 ,你可以用 代替它们到一个配置文件中。 只需创建一个名为 upload.php的新文件,在 文件中添加$ config数组。然后将该文件保存在: config/upload.php中,并自动使用 。如果您将首选项 保存在配置文件中,则不需要 使用$ this-> upload->初始化 函数。

因此,您要添加到$ config array(),而没有任何键来自动初始化。可能会更好做一个配置文件,并与你的配置PARAMS加载,如:与

$config['upload_1']['upload_path'] = './uploads/'; 
$config['upload_1']['allowed_types'] = 'gif|jpg|png'; 
$config['upload_1']['max_size'] = '100'; 
$config['upload_1']['max_width'] = '1024'; 
$config['upload_1']['max_height'] = '768'; 
后来在你的控制器

和加载:

$this->load->config('upload_vals', TRUE); 

$upload_vals = $this->config->item('upload_1'); 

$this->load->library('upload', $upload_vals); 

希望它可以帮助!

0

这是另一种方法。

application/config/upload.php

<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); 

$config = array(
    'member_photo' => array(
     'upload_path' => './uploads/member_photos/', 
     'allowed_types' => 'gif|jpeg|jpg|png', 
     'max_size'  => '0', 
     'max_width'  => '0', 
     'max_height' => '0', 
     'encrypt_name' => true 
    ), 
    'pet_photo' => array(
     'upload_path' => './uploads/pet_photos/', 
     'allowed_types' => 'gif|jpeg|jpg|png', 
     'max_size'  => '0', 
     'max_width'  => '0', 
     'max_height' => '0', 
     'encrypt_name' => true 
    ), 
); 

application/libraries/MY_Upload.php

<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); 

class MY_Upload extends CI_Upload 
{ 

    function initialize($config = array()) 
    { 
     // load config 
     if(!empty($config['config'])) 
     { 
      $CI =& get_instance(); 
      $CI->load->config('upload'); 
      $autoload_config = $CI->config->item($config['config']); 

      if($autoload_config) 
      { 
       foreach($autoload_config as $key => $val) 
       { 
        if(empty($config[$key])) 
        { 
         $config[$key] = $val; 
        } 
       } 
      } 

      unset($config['config']); 
     } 

     parent::initialize($config); 
    } 

} 
在控制器

即可;

$this->load->library('upload', array('config' => 'member_photo'));

:您定义将覆盖在配置文件中的任何附加键