In this tutorial you will learn about the Codeigniter Multiple Files Upload Example and its application with practical example.
In this Codeigniter Multiple Files Upload Example, I’ll show you how to upload multiple image file in codeigniter. In this codeigniter multiple image upload example, I’ll show you how to validate and upload multiple image file into folder and then save it into database. In this tutorial before saving multiple image into database we will validate image and then save it into directory. Before uploading the image we will validate the image. After successfully uploading multiple images into the folder and saving it in database we will display success message on the screen.
Codeigniter Multiple Files Upload Example
In this step by step tutorial I’ll demonstrate how to upload multiple files in codeigniter with validation. Please follow the steps given below:
Step 1:Create Upload Directory
Step 2:Create The Controller
Step 3:Create The Model
Step 4:Create The View
Create Upload Directory
First of all we have to create assets/uploads/ directory.
Create The Controller
Now, we will create a Multipleimage.php controller. Open Multipleimage.php and put the following code in it.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Multipleimage extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('Image_model'); $this->load->helper('url'); } public function index(){ if ($this->input->post('submit') && $_FILES['images']['name'] != '') { $data = array(); $count_images = count($_FILES['images']['name']); for($i=0;$i<$count_images;$i++){ if(!empty($_FILES['images']['name'][$i])){ $ext = pathinfo($_FILES['images']['name'][$i], PATHINFO_EXTENSION); $name = 'image' . rand(100000, 999999) . date("Y-m-d") . '.' . $ext; $_FILES['file']['name'] = $name; $_FILES['file']['type'] = $_FILES['images']['type'][$i]; $_FILES['file']['tmp_name'] = $_FILES['images']['tmp_name'][$i]; $_FILES['file']['error'] = $_FILES['images']['error'][$i]; $_FILES['file']['size'] = $_FILES['images']['size'][$i]; $config['upload_path'] = './assets/uploads/'; $config['allowed_types'] = 'jpg|jpeg|png|gif'; $config['max_size'] = '10000'; $config['file_name'] = $_FILES['images']['name'][$i]; $this->load->library('upload',$config); if($this->upload->do_upload('file')){ $uploadData = $this->upload->data(); $arrData["image_name"] =$name; $this->Image_model->save_image($arrData); } } } } $this->load->view('add'); } } ?> |
Create The Model
Lets create the Image_model.php model file as following.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); Class Image_model extends CI_Model { function save_image($arrData) { if ($this->db->insert('file_upload_image',$arrData)) { return true; } else { return flase; } } } ?> |
Create The View
Now we will create the image.php view file and put the following code in it.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
<!DOCTYPE html> <html lang="en"> <head> <title>Codeigniter Multiple Files Upload Example</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script> </head> <body> <div class="container"> <div class="row"> <div class="col-sm-12"> <section class="panel"> <header class="panel-heading col-sm-12"> <h1 class="col-sm-6">Codeigniter Multiple Files Upload Example</h1> </header> <div class="container"> <div class="panel-body"> <div class="form"> <?php $attributes = array('name' => 'frmimage', 'id' => 'frmimage', 'class' => 'imageform form-horizontal adminex-form'); echo form_open_multipart('',$attributes); ?> <div class="form-group col-sm-12 "> <div class="col-lg-8 "> <input type="file" name="images[]" multiple class="form-control"> </div> </div> <div class="form-group col-sm-12"> <div class="col-lg-1 col-xs-offset-2"> <?php $datasubmit = array( 'name' => 'submit', 'id' => 'submit', 'class' => 'btn btn-success', 'value' => 'File Upload' ); echo form_submit($datasubmit); ?> </div> </div> </div> <?php echo form_close(); ?> </div> </div> </section> </div> </div> </div> </body> </html> |