File upload in codeigniter is simple component that need to take care of upload file with process. In this, we will discuss on h...

CodeIgniter - File Uploading with class


File upload in codeigniter is simple component that need to take care of upload file with process.
In this, we will discuss on how could be easily upload a file easily.

Using file uploading class we can upload file with restriction of file type and size.
Following process on how to upload file.

view/Upload_form.php :


<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>

view/Upload_success.php:

<html>
   <head> 
      <title>Upload Form</title> 
   </head>
   <body>  
      <h3>Your file was successfully uploaded!</h3>  
      <ul> 
         <?phpforeach ($upload_data as $item => $value):?> 
         <li><?php echo $item;?>: <?php echo $value;?></li> 
         <?phpendforeach; ?>
      </ul>  
      <p><?php echo anchor('upload', 'Upload Another File!'); ?></p>  
   </body>
</html>


controllers/Upload.php:

<?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 change on routes.php:
$route['upload'] = 'Upload';

0 coment�rios: