CodeIgniter - Dosya Yükleme

Dosya Yükleme sınıfını kullanarak dosya yükleyebiliriz ve ayrıca yüklenecek dosyanın türünü ve boyutunu sınırlayabiliriz. CodeIgniter'da dosya yükleme sürecini anlamak için verilen örnekte gösterilen adımları izleyin.

Misal

Aşağıdaki kodu kopyalayın ve şurada saklayın: 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>

Aşağıda verilen kodu kopyalayın ve şurada saklayın: 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>

Aşağıda verilen kodu kopyalayın ve şurada saklayın: application/controllers/Upload.php. Oluşturmak "uploadsCodeIgniter'ın kökündeki ”klasörü, yani uygulama klasörünün üst dizininde.

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

Yol dosyasında aşağıdaki değişikliği yapın application/config/routes.php ve aşağıdaki satırı dosyanın sonuna ekleyin.

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

Şimdi tarayıcıda aşağıdaki URL'yi ziyaret ederek bu örneği yürütelim. Siteniz.com'u URL'nizle değiştirin.

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

Aşağıdaki ekranı üretecektir -

Bir dosyayı başarıyla yükledikten sonra, aşağıdaki ekranı göreceksiniz -