CIyang 发表于 2016-5-20 22:14:12

CI框架多文件上传处理

废话不多说,直接上代码,虽然觉得这样处理多文件上传好像十分的粗陋。不过也算是比较简单的处理了这个问题。
这下面的代码使控制器中的代码:
    //图片处理
      $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[]'>
页: [1]
查看完整版本: CI框架多文件上传处理