如何使用codeigniter从多个输入上传文件
我有三个不同的输入文件,我想从不同的文件夹上传它。我下面的代码在上传过程中可以正常工作,但它只会进入一个文件夹,该文件夹始终位于org_图表文件夹中 这是来自我的控制器:如何使用codeigniter从多个输入上传文件,codeigniter,file-upload,multiple-input,Codeigniter,File Upload,Multiple Input,我有三个不同的输入文件,我想从不同的文件夹上传它。我下面的代码在上传过程中可以正常工作,但它只会进入一个文件夹,该文件夹始终位于org_图表文件夹中 这是来自我的控制器: foreach ($_FILES as $key => $value) { if ($key == "updated-org-chart") { $config['allowed_types'] = 'pdf'; $config['upload_path']
foreach ($_FILES as $key => $value) {
if ($key == "updated-org-chart") {
$config['allowed_types'] = 'pdf';
$config['upload_path'] = './assets/manpower_requisition/org_chart/';
$this->load->library('upload', $config);
$this->upload->do_upload($key);
}elseif ($key == "job-description") {
$config['allowed_types'] = 'pdf';
$config['upload_path'] = './assets/manpower_requisition/jd/';
$this->load->library('upload', $config);
$this->upload->do_upload($key);
}elseif ($key == "bsc") {
$config['allowed_types'] = 'pdf';
$config['upload_path'] = './assets/manpower_requisition/bsc/';
$this->load->library('upload', $config);
$this->upload->do_upload($key);
}
}
您可以使用如下所示的配置:
foreach ($_FILES as $key => $value) {
switch ($key) {
case 'updated-org-chart':
$config['upload_path'] = './assets/manpower_requisition/org_chart/';
break;
case 'job-description':
$config['upload_path'] = './assets/manpower_requisition/jd/';
break;
case 'bsc':
$config['upload_path'] = './assets/manpower_requisition/bsc/';
break;
default:
$config['upload_path'] = './assets/manpower_requisition/org_chart/';
break;
}
$config['allowed_types'] = 'pdf';
$this->load->library('upload', $config);
$this->upload->do_upload($key);
}
在花了很长时间解决这个问题之后,我找到了一个解决问题的方法。Codeigniter不允许使用新参数调用该类两次,而是必须重新初始化upload类。这里有一些文章似乎与这个问题相同
对路径配置$config1['upload_path']='path1'使用不同的变量$config2['upload_path']='path2';我已经这样做了,但仍然转到同一个文件夹@丹尼沙利
$config['allowed_types'] = 'pdf';
$this->load->library('upload', $config);
$this->upload->initialize($config);
$this->upload->do_upload($key);