CodeIgniter文件上传


使用文件上传类,我们可以上传文件,我们也可以限制要上传文件的类型和大小。按照给定示例中显示的步骤了解CodeIgniter中的文件上传过程。

复制以下代码并将其存储在 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>

复制下面给出的代码并将其存储在 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>

复制下面给出的代码并将其存储在 application / controllers / Upload.php中 。在CodeIgniter的根目录即应用程序文件夹的父目录下创建“ 上传 ”文件夹。

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

application / config / routes.php 中的路径文件中进行以下更改,并在文件末尾添加以下行。

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

现在让我们通过访问浏览器中的以下URL来执行此示例。将yoursite.com替换为您的网址。

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

它会产生以下屏幕 -

上传表格

成功上传文件后,您将看到以下屏幕 -

成功上传