首页  >  文章  >  后端开发  >  详解CI框架实现图片上传的方法

详解CI框架实现图片上传的方法

黄舟
黄舟原创
2017-03-27 09:34:271737浏览

这篇文章主要介绍了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