Codeigniter-file-uploading

提供:Dev Guides
移動先:案内検索

CodeIgniter-ファイルのアップロード

File Uploadingクラスを使用すると、ファイルをアップロードできます。また、アップロードするファイルのタイプとサイズを制限できます。 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のルートに「 uploads 」フォルダーを作成します。 アプリケーションフォルダーの親ディレクトリ。

<?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をURLに置き換えます。

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

それは次の画面を生成します-

アップロードフォーム

ファイルを正常にアップロードした後、次の画面が表示されます-

アップロードに成功