Image Upload In CodeIgniter

Kailash Singh

Image Upload In CodeIgniter

Published Mar 08,2019 by Kailash Singh

1 Comment     1565 Views    

In this tutorial, we are going to learn about creating a Image Upload in CodeIgniter using Php Script. 


A PHP script can be used with a HTML form to allow users to upload files to the server. Initially files are uploaded into a temporary directory and then relocated to a target destination by a PHP script.


Step 1 :- Create table in database.

CREATE TABLE `codingmantra`.`upload_file` ( `id` INT(11) NOT NULL AUTO_INCREMENT , `image` VARCHAR(200) NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;


Step 2 :- Create Image Upload Page in View Folder (image_upload.php) 

<form action="" method="">
	   <input type="file" name="upload">
	   <input type="submit" name="submit" value="Upload">


Step 3 :- Create Upload Image Controller in Controller Folder (Upload_image.php) 

defined('BASEPATH') OR exit('No direct script access allowed');

class Upload_Image extends CI_Controller {

	public function index()



Step 4 :- Create Action, Method In Image Upload View

The following HTML code below creates an uploader form. This form is having method attribute set to action, post and enctype attribute is set to multipart/form-data

<form action="<?php echo base_url(); ?>upload_image/add_upload_image" method="post" enctype="multipart/form-data">


Step 5 :- Create Upload Image folder to store images


Step 6 :- Create Upload Image Function in Image Upload  Controller 

public function add_upload_image()
	$image_upload = $_FILES['upload']['name'];
	if($image_upload != '')
		$image_upload1 = @end(explode('.', $image_upload));
		$image_upload2 = strtolower($image_upload1);
		$new_image_upload = time().'.'.$image_upload2;
		$image_upload_path = './upload_image/'.$new_image_upload;				
		move_uploaded_file($_FILES['upload']['tmp_name'], $image_upload_path);

	$data = array(
		'image' => $new_image_upload

	return redirect('upload_image');


Step 7 :- Create Model in Model Folder (Upload_image_model.php).


class Upload_image_model extends CI_Model{

	public function upload_file_model($data){
		return $this->db->insert('upload_file',$data);



Hope this will help our developers.

1 Comment

Kailash Singh Mar 10, 2019

Thanx for the help