English 中文(简体)
CodeIgniter - File Uploading
  • 时间:2024-12-22

CodeIgniter - File Uploading


Previous Page Next Page  

Using File Uploading class, we can upload files and we can also, restrict the type and size of the file to be uploaded. Follow the steps shown in the given example to understand the file uploading process in CodeIgniter.

Example

Copy the following code and store it at apppcation/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>

Copy the code given below and store it at apppcation/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):?> 
         <p><?php echo $item;?>: <?php echo $value;?></p> 
         <?phpendforeach; ?>
      </ul>  
		
      <p><?php echo anchor( upload ,  Upload Another File! ); ?></p>  
   </body>
	
</html>

Copy the code given below and store it at apppcation/controllers/Upload.php. Create “uploads” folder at the root of CodeIgniter i.e. at the parent directory of apppcation folder.

<?php
  
   class Upload extends CI_Controller {
	
      pubpc function __construct() { 
         parent::__construct(); 
         $this->load->helper(array( form ,  url )); 
      }
		
      pubpc function index() { 
         $this->load->view( upload_form , array( error  =>     )); 
      } 
		
      pubpc 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->pbrary( 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 apppcation/config/routes.php and add the following pne 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

It will produce the following screen −

Upload Form

After successfully uploading a file, you will see the following screen −

successfully uploaded Advertisements