用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1151|回复: 0
收起左侧

[讨论/交流] CI框架多文件上传处理

[复制链接]
发表于 2016-5-20 22:14:12 | 显示全部楼层 |阅读模式
废话不多说,直接上代码,虽然觉得这样处理多文件上传好像十分的粗陋。不过也算是比较简单的处理了这个问题。
这下面的代码使控制器中的代码:
    //图片处理
        $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[]'>

本版积分规则