article

Friday, August 12, 2016

CodeIgniter - Upload an Image

CodeIgniter - Upload an Image

Copy the following code and store it at application/view/Upload_form.php.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<html>
   <head>
      <title>Upload Form</title>
   </head>
   <body>
      <?php echo $error;?>
      <?php echo form_open_multipart('upload/do_upload');?>
      <form action = "" method = "">
         <input type = "file" name = "userfile" size = "20" />
         <br /><br />
         <input type = "submit" value = "upload" />
      </form>
   </body>
</html>

Copy the code given below and store it at application/view/upload_success.php

1
2
3
4
5
6
7
8
<html>
   <head>
      <title>Upload Image</title>
   </head>
   <body> 
      <h3>Upload an Image Success!</h3> 
   </body>
</html>

Copy the code given below and store it at application/controllers/upload.php. Create "uploads" folder at the root of CodeIgniter i.e. at the parent directory of application folder.

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
<?php
   
   class Upload extends CI_Controller {
  
      public function __construct() {
         parent::__construct();
         $this->load->helper(array('form', 'url'));
      }
   
      public function index() {
         $this->load->view('upload_form', array('error' => ' ' ));
      }
   
      public function do_upload() {
         $config['upload_path']   = './uploads/';
         $config['allowed_types'] = 'gif|jpg|png';
         $config['max_size']      = 100;
         $config['max_width']     = 1024;
         $config['max_height']    = 768; 
         $this->load->library('upload', $config);
    
         if ( ! $this->upload->do_upload('userfile')) {
            $error = array('error' => $this->upload->display_errors());
            $this->load->view('upload_form', $error);
         }
    
         else {
            $data = array('upload_data' => $this->upload->data());
            $this->load->view('upload_success', $data);
         }
      }
   }
?>

Make the following change in the route file in application/config/routes.php and add the following line at the end of file.

$route['upload'] = 'Upload';

Now let us execute this example by visiting the following URL in the browser. Replace the yoursite.com with your URL.

http://yoursite.com/index.php/upload

Download http://bit.ly/2XgSkMN

Related Post