1) Create upload.php file inside controller, copy and past the following code into. Also create an ‘uploads’ folder inside the codeigniter root folder.
<?php //Author: Jamshid HASHIMI class Upload extends CI_Controller { function __construct() { parent::__construct(); $this->load->helper('form'); $this->load->helper('url'); } function index() { $this->load->view('upload_view'); } //Upload Image function function uploadImage() { $config['upload_path'] = "uploads/"; $config['allowed_types'] = "gif|jpg|jpeg|png"; $config['max_size'] = "5000"; $config['max_width'] = "1907"; $config['max_height'] = "1280"; $this->load->library('upload',$config); if(!$this->upload->do_upload()) { echo $this->upload->display_errors(); } else { $finfo=$this->upload->data(); $this->_createThumbnail($finfo['file_name']); $data['uploadInfo'] = $finfo; $data['thumbnail_name'] = $finfo['raw_name']. '_thumb' .$finfo['file_ext']; $this->load->view('upload_success',$data); // You can view content of the $finfo with the code block below /*echo '<pre>'; print_r($finfo); echo '</pre>';*/ } } //Create Thumbnail function function _createThumbnail($filename) { $config['image_library'] = "gd2"; $config['source_image'] = "uploads/" .$filename; $config['create_thumb'] = TRUE; $config['maintain_ratio'] = TRUE; $config['width'] = "80"; $config['height'] = "80"; $this->load->library('image_lib',$config); if(!$this->image_lib->resize()) { echo $this->image_lib->display_errors(); } } } ?>
2) Create the upload_view and upload_success files inside view folder and insert the below codes into
upload_view
<html> <head> <title> Image Upload </title> </head> <body> <div id="container"> <?php echo form_open_multipart('upload/uploadImage')?> <input type="file" name="userfile" /> <p><input type="submit" name="submit" value="submit" /></p> <?php echo form_close();?> </div> </body> </html>
Upload Success
<html> <head> <title> Image Upload </title> </head> <body> <div id="container"> <dl> <dt> File Name: </dt> <dd> <?php echo $uploadInfo['file_name'];?> </dd> <dt> File Size: </dt> <dd> <?php echo $uploadInfo['file_size'];?> </dd> <dt> File Extension: </dt> <dd> <?php echo $uploadInfo['file_ext'];?> </dd> <br /> <p>The Image:</p> <img alt="Your uploaded image" src="<?=base_url(). 'uploads/' . $uploadInfo['file_name'];?>"> <p>The Image:</p> <img alt="Your Thumbnail image" src="<?=base_url(). 'uploads/' . $thumbnail_name;?>"> </dl> </div> </body> </html>
If you have any question regarding the codes above, you can ask as a comment. I will be here to answer your questions