CI(CodeIgniter)框架实现图片上传的方法


Posted in PHP onMarch 24, 2017

本文实例讲述了CodeIgniter框架实现图片上传的方法。分享给大家供大家参考,具体如下:

对于图片上传这种老生常谈的问题,在此我不得不再次重复一次,因为对于这框架毕竟有些地方值得自己学习与借鉴,这篇文章我是借助官方文档来写的,但有些地方任然需要标明一下。

下面我们来看看图片上传吧。首先在“./application/views/”文件夹下创一个视图文件:text.php,代码如下:

<html>
  <head>
    <title>Upload Form</title>
  </head>
  <body>
      <?php echo $error;?>
      <?php echo form_open_multipart('upload/do_upload');?>
      <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('test',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('test',$error);
    }else{
      $data=array('upload_data'=>$this->upload->data());
      $this->load->view('upload_success',$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>

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

PHP 相关文章推荐
一个oracle+PHP的查询的例子
Oct 09 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
Sep 19 PHP
深入解析php之apc
May 15 PHP
ThinkPHP模板判断输出Empty标签用法详解
Jun 30 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
Jul 30 PHP
php带抄送和密件抄送的邮件发送方法
Mar 20 PHP
PHP的Yii框架入门使用教程
Feb 15 PHP
CentOS系统中PHP安装扩展的方式汇总
Apr 09 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
Jul 20 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
YII框架学习笔记之命名空间、操作响应与视图操作示例
Apr 30 PHP
thinkphp5+layui实现的分页样式示例
Oct 08 PHP
PHP的自定义模板引擎
Mar 24 #PHP
ThinkPHP模板标签eq if 中区分0,null,false的方法
Mar 24 #PHP
利用ajax和PHP实现简单的流程管理
Mar 23 #PHP
CodeIgniter框架基本增删改查操作示例
Mar 23 #PHP
Paypal实现循环扣款(订阅)功能
Mar 23 #PHP
PHP+JQUERY操作JSON实例
Mar 23 #PHP
php实现多维数组排序的方法示例
Mar 23 #PHP
You might like
PHP详细彻底学习Smarty
2008/03/27 PHP
微信公众平台开发关注及取消关注事件的方法
2014/12/23 PHP
PHP图片水印类的封装
2017/07/06 PHP
基于prototype的validation.js发布2.3.4新版本,让你彻底脱离表单验证的烦恼
2006/12/06 Javascript
jquery.cookie用法详细解析
2013/12/18 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
2014/06/16 Javascript
js实现按一下删除键删除整个单词附demo
2014/09/05 Javascript
JavaScript中数据结构与算法(五):经典KMP算法
2015/06/19 Javascript
浅析2种JavaScript继承方式
2015/12/04 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
jQuery Ajax 加载数据时异步显示加载动画
2016/08/01 Javascript
javascript中获取元素标签中间的内容的实现方法
2016/10/08 Javascript
详解Js中的模块化是如何实现的
2017/10/18 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
微信小程序授权登陆及每次检查是否授权实例代码
2019/09/18 Javascript
JavaScript键盘事件响应顺序详解
2019/09/30 Javascript
Javascript Worker子线程代码实例
2020/02/20 Javascript
关于Node.js中频繁修改代码重启服务器的问题
2020/10/15 Javascript
原生JS运动实现轮播图
2021/01/02 Javascript
[00:17]DOTA2荣耀之路5:It’s a disastah!
2018/05/28 DOTA
Python程序设计入门(5)类的使用简介
2014/06/16 Python
Python的Django应用程序解决AJAX跨域访问问题的方法
2016/05/31 Python
python正则表达式的使用
2017/06/12 Python
Python键盘输入转换为列表的实例
2018/06/23 Python
python 中字典嵌套列表的方法
2018/07/03 Python
Python实现使用request模块下载图片demo示例
2019/05/24 Python
详解Python文件修改的两种方式
2019/08/22 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
2020/09/28 Python
解决pip安装的第三方包在PyCharm无法导入的问题
2020/10/15 Python
全球立体声:World Wide Stereo
2018/09/29 全球购物
平面设计师工作职责范文
2013/12/03 职场文书
保护环境倡议书范文
2014/05/13 职场文书
企业承诺书格式范文
2015/04/28 职场文书
2016年师德学习心得体会
2016/01/12 职场文书
Java如何实现树的同构?
2021/06/22 Java/Android
数据设计之权限的实现
2022/08/05 MySQL