2个Codeigniter文件批量上传控制器写法例子


Posted in PHP onJuly 25, 2014

例子一:

/**
 * 多文件上传
 * 
 * @author Dream <dream@shanjing-inc.com>
 */
public function multiple_uploads() {
  //载入所需类库
  $this->load->library('upload');
  
  //配置上传参数
  $upload_config = array(
      'upload_path'  => '',
      'allowed_types' => 'jpg|png|gif',
      'max_size'   => '500',
      'max_width'   => '1024',
      'max_height'  => '768',
  );
  $this->upload->initialize($upload_config);
    
  //循环处理上传文件
  foreach ($_FILES as $key => $value) {
    if (!empty($key['name'])) {
      if ($this->upload->do_upload($key)) {
        //上传成功
        print_r($this->upload->data());
      } else {
        //上传失败
        echo $this->upload->display_errors();
      }
    }
  }
}

例子二:

function upload() {
    $config['upload_path'] = './uploads/'; 
    /*这里的uploads是相对于index.php的,也就是入口文件,这个千万不要弄错哦!
    否则就会报错"The upload path does not appear to be valid."; 
    */
    $config['allowed_types'] = 'gif|jpg|png';
    /*我试着去上传其它类型的文件,这里一定要注意顺序! 
    A problem was encountered while attempting to move the uploaded file to the final destination.
    这个错误一般是上传文件的文件名不能是中文名,这个很郁闷!还未解决,大家可以用其它方法,重新改一下文件名就可以解决了! 
    $config['allowed_types'] = 'zip|gz|png|gif|jpg';(正确)
    $config['allowed_types'] = 'png|gif|jpg|zip|gz';(错误)
    */
    $config['max_size'] = '1024';
    $config['max_width'] = '1024';
    $config['max_height'] = '768';

    $config['file_name'] = time(); //文件名不使用原始名
    $this->load->library('upload', $config);
    if(!$this->upload->do_upload()) {
        echo $this->upload->display_errors();
    }else{

       $data['upload_data']=$this->upload->data(); //文件的一些信息
       $img=$data['upload_data']['file_name']; //取得文件名

       echo $img."<br>";

       foreach($data['upload_data'] as $item => $value){
       echo $item.":".$value."<br>";

      }

    }
}
PHP 相关文章推荐
给多个地址发邮件的类
Oct 09 PHP
php GeoIP的使用教程
Mar 09 PHP
对text数据类型不支持代码页转换 从: 1252 到: 936
Apr 23 PHP
PHP异步调用socket实现代码
Jan 12 PHP
使用php计算排列组合的方法
Nov 13 PHP
php循环创建目录示例分享(php创建多级目录)
Mar 04 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
Aug 20 PHP
PHP中的Trait 特性及作用
Apr 03 PHP
mac os快速切换多个PHP版本的方法
Mar 07 PHP
php面向对象程序设计入门教程
Jun 22 PHP
php菜单/评论数据递归分级算法的实现方法
Aug 01 PHP
laravel ajax curd 搜索登录判断功能的实现
Apr 17 PHP
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
Jul 25 #PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
Jul 25 #PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
Jul 25 #PHP
PHP获取短链接跳转后的真实地址和响应头信息的方法
Jul 25 #PHP
PHP实现根据设备类型自动跳转相应页面的方法
Jul 24 #PHP
PHP结合JQueryJcrop实现图片裁切实例详解
Jul 24 #PHP
PHP 5.3新增魔术方法__invoke概述
Jul 23 #PHP
You might like
采用memcache在web集群中实现session的同步会话
2014/07/05 PHP
php检测数组长度函数sizeof与count用法
2014/11/17 PHP
PHP SPL标准库之文件操作(SplFileInfo和SplFileObject)实例
2015/05/11 PHP
header与缓冲区之间的深层次分析
2016/07/30 PHP
JavaScript 类型的包装对象(Typed Wrappers)
2011/10/27 Javascript
js优化针对IE6.0起作用(详细整理)
2012/12/25 Javascript
JavaScript 判断浏览器是否支持SVG的代码
2013/03/21 Javascript
深入解析JavaScript中的数字对象与字符串对象
2015/10/21 Javascript
基于Bootstrap重置输入框内容按钮插件
2016/05/12 Javascript
javascript实现二叉树的代码
2017/06/08 Javascript
不得不知的ES6小技巧
2018/07/28 Javascript
Vuex 在Vue 组件中获得Vuex 状态state的方法
2018/08/27 Javascript
webpack实现一个行内样式px转vw的loader示例
2018/09/13 Javascript
代码整洁之道(重构)
2018/10/25 Javascript
vue elementui el-form rules动态验证的实例代码详解
2019/05/23 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
Javascript执行流程细节原理解析
2020/05/14 Javascript
[00:32]2018DOTA2亚洲邀请赛出场——LGD
2018/04/04 DOTA
[46:28]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
python利用MethodType绑定方法到类示例代码
2017/08/27 Python
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
对dataframe进行列相加,行相加的实例
2018/06/08 Python
Python qqbot 实现qq机器人的示例代码
2019/07/11 Python
Python 实现数据结构-堆栈和队列的操作方法
2019/07/17 Python
python在OpenCV里实现投影变换效果
2019/08/30 Python
python 实现查询Neo4j多节点的多层关系
2019/12/23 Python
keras训练浅层卷积网络并保存和加载模型实例
2020/07/02 Python
Europcar比利时:租车
2019/08/26 全球购物
C#如何判断当前用户是否输入某个域
2015/12/07 面试题
中学生学雷锋活动心得体会
2014/03/10 职场文书
企业法人代表任命书
2014/06/06 职场文书
升职自荐信怎么写
2015/03/05 职场文书
同事打架检讨书
2015/05/06 职场文书
企业党支部工作总结2015
2015/05/21 职场文书
2015年学校精神文明工作总结
2015/05/27 职场文书
vue中 this.$set的使用详解
2021/11/17 Vue.js