您的代码必须做一些事情:
(1)你需要在每个上传表单中设置一个标志(隐藏变量是一个好方法),以便你知道将文件存储在哪个文件夹中。我们称之为标志upload_target
在您的控制器中:
(2)upload_target
从post变量中获取
(3) 根据值upload_target
,根据需要设置upload_config 值,然后加载/初始化上传类。
upload_config
值的放置
位置 如果您尝试在 config/upload.php 中定义二维数组,库加载器可能会感到困惑。
相反,定义一个名为upload_settings.php
并定义以下数组的配置文件:
$config['target1']['upload_path'] = './uploads_path_1/';
$config['target1']['allowed_types'] = 'gif|jpg|png';
$config['target1']['max_size'] = '100';
$config['target1']['max_width'] = '1024';
$config['target1']['max_height'] = '768';
$config['target2']['upload_path'] = './uploads_path_2/';
$config['target2']['allowed_types'] = 'gif|jpg|png';
$config['target2']['max_size'] = '100';
$config['target2']['max_width'] = '1024';
$config['target2']['max_height'] = '768';
在您的上传控制器中,您将执行以下操作:
$this->config->load('upload_settings', TRUE);
根据upload_target
您从表单的 post 变量中获得的值:
$upload_config_values = $this->load->config('target1','upload_settings');
或者
$upload_config_values = $this->load->config('target2','upload_settings');
您现在可以加载或初始化您的上传类:
$this->load->library('upload', $upload_config_values);
我把它写成元代码给你一个可行方法的大纲。
设置隐藏值标志/参数
对于您用于上传文件的每个表单,添加一个隐藏值,如下所示。
对于第一种形式:
对于第二种形式:
从 post 变量中获取upload_target
值并根据该值选择正确的配置文件。