Multiple files upload in Codeigniter Multiple files upload in Codeigniter codeigniter codeigniter

Multiple files upload in Codeigniter


I change upload method with images[] according to @Denmark.

    private function upload_files($path, $title, $files)    {        $config = array(            'upload_path'   => $path,            'allowed_types' => 'jpg|gif|png',            'overwrite'     => 1,                               );        $this->load->library('upload', $config);        $images = array();        foreach ($files['name'] as $key => $image) {            $_FILES['images[]']['name']= $files['name'][$key];            $_FILES['images[]']['type']= $files['type'][$key];            $_FILES['images[]']['tmp_name']= $files['tmp_name'][$key];            $_FILES['images[]']['error']= $files['error'][$key];            $_FILES['images[]']['size']= $files['size'][$key];            $fileName = $title .'_'. $image;            $images[] = $fileName;            $config['file_name'] = $fileName;            $this->upload->initialize($config);            if ($this->upload->do_upload('images[]')) {                $this->upload->data();            } else {                return false;            }        }        return $images;    }


public function index() {    $user = $this->session->userdata("username");    $file_path = "./images/" . $user . '/';    if (isset($_FILES['multipleUpload'])) {        if (!is_dir('images/' . $user)) {            mkdir('./images/' . $user, 0777, TRUE);        }        $files = $_FILES;        $cpt = count($_FILES ['multipleUpload'] ['name']);        for ($i = 0; $i < $cpt; $i ++) {            $name = time().$files ['multipleUpload'] ['name'] [$i];            $_FILES ['multipleUpload'] ['name'] = $name;            $_FILES ['multipleUpload'] ['type'] = $files ['multipleUpload'] ['type'] [$i];            $_FILES ['multipleUpload'] ['tmp_name'] = $files ['multipleUpload'] ['tmp_name'] [$i];            $_FILES ['multipleUpload'] ['error'] = $files ['multipleUpload'] ['error'] [$i];            $_FILES ['multipleUpload'] ['size'] = $files ['multipleUpload'] ['size'] [$i];            $this->upload->initialize($this->set_upload_options($file_path));            if(!($this->upload->do_upload('multipleUpload')) || $files ['multipleUpload'] ['error'] [$i] !=0)            {                print_r($this->upload->display_errors());            }            else            {                $this->load->model('uploadModel','um');                $this->um->insertRecord($user,$name);            }        }    } else {        $this->load->view('uploadForm');    }}public function set_upload_options($file_path) {    // upload an image options    $config = array();    $config ['upload_path'] = $file_path;    $config ['allowed_types'] = 'gif|jpg|png';    return $config;}