|
废话不多说,直接上代码,虽然觉得这样处理多文件上传好像十分的粗陋。不过也算是比较简单的处理了这个问题。
这下面的代码使控制器中的代码:
//图片处理
$file_name = '';
foreach ($_FILES['imgs'] as $index => $file) {
foreach ($file as $i => $desc) {
$file_map[$i]['imgs'][$index] = $desc;
}
}
foreach ($file_map as $index => $file) {
$config['upload_path'] = './uploads/admin/test';
$config['file_name'] = uniqid();
$config['allowed_types'] = 'jpg|png';
//覆盖原$_FILES的内容 使其变为单独上传一个文件的格式
$_FILES = $file;
$this->load->library('upload', $config);
//扩展 多文件上传刷新$config的值
$this->upload->load_config($config);
$this->upload->do_upload('imgs');
echo $this->upload->display_errors();
}
需要在upload类中添加一个方法去刷新新获取到的$config的值
public function load_config($config) {
$this->initialize($config, FALSE);
}
是不是觉得非常粗陋 这段代码?
View层的话 上传文件的格式就是<input type='file' name='imgs[]'>
|
|