首頁  >  文章  >  後端開發  >  詳解CI框架實現圖片上傳的方法

詳解CI框架實現圖片上傳的方法

黄舟
黄舟原創
2017-03-27 09:34:271725瀏覽

這篇文章主要介紹了CI(CodeIgniter)框架實作圖片上傳的方法,結合實例形式分析了基於CodeIgniter呼叫檔案上傳類別實作圖片上傳功能的相關操作技巧,需要的朋友可以參考下

本文實例講述了CodeIgniter框架實現圖片上傳的方法。分享給大家供大家參考,具體如下:

對於圖片上傳這種老生常談的問題,在此我不得不再次重複一次,因為對於這個框架畢竟有些地方值得自己學習與借鑒,這篇文章我是藉助官方文件來寫的,但有些地方任然需要標明一下。

下面我們來看看圖片上傳吧。首先在「./application/views/」資料夾下創一個檢視檔:text.php,程式碼如下:

<html>
  <head>
    <title>Upload Form</title>
  </head>
  <body>
      <?php echo $error;?>
      <?php echo form_open_multipart(&#39;upload/do_upload&#39;);?>
      <input type="file" name="userfile" size="20"/>
      <br><br>
      <input type="submit" value="upload"/>
      </form>
  </body>
</html>

Codeigniter有自己非常豐富upload類別函式庫,下面我們來看看控制器,在Controller中一個Upload.php文件,程式碼如下:

class Upload extends CI_Controller{
  public function construct(){
    parent::construct();
    $this->load->helper("form","url");
  }
  public function index(){
    $this->load->view(&#39;test&#39;,array("error"=>&#39;&#39;));
  }
  public function do_upload(){
    $config[&#39;upload_path&#39;]=&#39;./uploads/&#39;;
    $config[&#39;allowed_types&#39;]=&#39;gif|jpg|png&#39;;
    $config[&#39;max_size&#39;]=100;
    $config[&#39;max_width&#39;]=1024;
    $config[&#39;max_height&#39;]=768;
    $this->load->library(&#39;upload&#39;,$config);
    if(!$this->upload->do_upload(&#39;userfile&#39;)){
      $error=array(&#39;error&#39;=>$this->upload->display_errors());
      $this->load->view(&#39;test&#39;,$error);
    }else{
      $data=array(&#39;upload_data&#39;=>$this->upload->data());
      $this->load->view(&#39;upload_success&#39;,$data);
    }
  }
}

下面在視圖中建立另外一個檔案upload_success.php

<html>
  <head>
    <title>Upload Form</title>
  </head>
  <body>
    <h3>Your file was successfully uploaded!</h3>
    <ul>
      <?php <foreach($upload_data as $item=>$value):?>
      <li>
        <?php echo $item;?>:<?php echo $value;?>
      </li>
      <?php?>
    </ul>
  </body>
</html>

以上是詳解CI框架實現圖片上傳的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn