robins
robins

Reputation: 1668

How to upload multiple files in CodeIgniter?

I have to upload multiple file. But some issues,choose the file and submit no change occur, nor go to my controller function multiple_upload

script

 <script type="text/javascript">
      var config = {
    // Valid file formats
          support : "image/jpg,image/png,image/bmp,image/jpeg,image/gif,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,text/csv,application/pdf", 
          form: "demoFiler", // Form ID
          dragArea: "dragAndDropFiles", // Upload Area ID
          uploadUrl: "<?php echo base_url(); ?>home/multiple_upload"     // Server side file url
      }
   //Initiate file uploader.
     $(document).ready(function()
    {
        initMultiUploader(config);
    });
</script>

view

 <div id="dragAndDropFiles" class="uploadArea">
       <h1>Drop Your Files Here</h1>
 </div>
 <input type="file" name="multiUpload" id="multiUpload" multiple />
 <div class="progressBar">
      <div class="status"></div>
 </div>
 <button type="submit" class="btn blue" name="submitHandler" id="submitHandler" style="margin-top: 15px;margin-left: 54px;">Submit</button>

controller

 function multiple_upload()
{
     $application_id=$this->session->userdata('application_id');
     echo $application_id;
      if(!is_dir('./application/assets/acc_data/'.$application_id)) 
     {
        mkdir('./application/assets/acc_data/'.$application_id, 0777, TRUE);

     }
}

Upvotes: 1

Views: 2267

Answers (1)

Ricky
Ricky

Reputation: 568

Try this

<html>
<body>
<form method="POST" action="<?php echo site_url('my-controller/file_upload');?>" 'enctype'=>'multipart/form-data'>
<label for="file">Filename:</label>
<input type="file" name="userfile[]" id="file" multiple>
<input type="submit" value="upload"></form>
</body>
</html>

and in your controller make a function

 $files = $_FILES;
                $cpt = count($_FILES['userfile']['name']);
                 for($i=0; $i<$cpt; $i++)
                {
                $_FILES['userfile']['name']= $files['userfile']['name'][$i];
                $_FILES['userfile']['type']= $files['userfile']['type'][$i];
                $_FILES['userfile']['tmp_name']= $files['userfile']['tmp_name'][$i];
                 $_FILES['userfile']['error']= $files['userfile']['error'][$i];
                 $_FILES['userfile']['size']= $files['userfile']['size'][$i];
                $this->upload->initialize($this->set_upload_options());
                $this->upload->do_upload();
                $fileName = $_FILES['userfile']['name'];
                 $images[] = $fileName;

For more how to upload multiple file using codeigniter try this

Upvotes: 2

Related Questions