Multiple image upload with CodeIgniter

后端 未结 4 1714
走了就别回头了
走了就别回头了 2020-11-27 04:02

I am new user to using code igniter in my project, I am facing one problem while uploading multiple files but the last one only insert to all image three images field.

4条回答
  •  栀梦
    栀梦 (楼主)
    2020-11-27 04:41

    Multiple files uploads unlimited files

    Database table(profile_images) column names are image_name(255,varcher), added_datetime(current timestamp)

    View

    
    
    

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

提交回复
热议问题