Multiple image upload in CodeIgniter with database demo code example

Example 1: upload multiple files in codeigniter

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;
    }

Example 2: Multiple image upload with CodeIgniter

views
---------



Controller ---------- public function multiple_files(){ $this->load->library('upload'); $image = array(); $ImageCount = count($_FILES['image_name']['name']); for($i = 0; $i < $ImageCount; $i++){ $_FILES['file']['name'] = $_FILES['image_name']['name'][$i]; $_FILES['file']['type'] = $_FILES['image_name']['type'][$i]; $_FILES['file']['tmp_name'] = $_FILES['image_name']['tmp_name'][$i]; $_FILES['file']['error'] = $_FILES['image_name']['error'][$i]; $_FILES['file']['size'] = $_FILES['image_name']['size'][$i]; // File upload configuration $uploadPath = './assets/images/profiles/'; $config['upload_path'] = $uploadPath; $config['allowed_types'] = 'jpg|jpeg|png|gif'; // Load and initialize upload library $this->load->library('upload', $config); $this->upload->initialize($config); // Upload file to server if($this->upload->do_upload('file')){ // Uploaded file data $imageData = $this->upload->data(); $uploadImgData[$i]['image_name'] = $imageData['file_name']; } } if(!empty($uploadImgData)){ // Insert files data into the database $this->pages_model->multiple_images($uploadImgData); } } Model --------- public function multiple_images($image = array()){ return $this->db->insert_batch('profile_images',$image); }

Tags:

Misc Example