CodeIgniter - Tải lên tệp

Sử dụng lớp Tải tệp lên, chúng tôi có thể tải tệp lên và chúng tôi cũng có thể hạn chế loại và kích thước tệp được tải lên. Làm theo các bước được hiển thị trong ví dụ đã cho để hiểu quy trình tải tệp lên trong CodeIgniter.

Thí dụ

Sao chép mã sau và lưu trữ tại application/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>

Sao chép mã được cung cấp bên dưới và lưu trữ tại application/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>

Sao chép mã được cung cấp bên dưới và lưu trữ tại application/controllers/Upload.php. Tạo nên "uploads”Ở thư mục gốc của CodeIgniter tức là tại thư mục mẹ của thư mục ứng dụng.

<?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); 
         } 
      } 
   } 
?>

Thực hiện thay đổi sau trong tệp tuyến đường trong application/config/routes.php và thêm dòng sau vào cuối tệp.

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

Bây giờ chúng ta hãy thực hiện ví dụ này bằng cách truy cập URL sau trong trình duyệt. Thay thế trang web của bạn bằng URL của bạn.

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

Nó sẽ tạo ra màn hình sau:

Sau khi tải tệp lên thành công, bạn sẽ thấy màn hình sau: