使用CodeIgniter的类库做图片上传


Posted in PHP onJune 12, 2014

CodeIgniter的文件上传类允许文件被上传。您可以设置指定上传某类型的文件及指定大小的文件。

上传文件普遍的过程:

一个上传文件用的表单,允许用户选择一个文件并上传它。
当这个表单被提交,该文件被上传到指定的目录。
同时,该文件将被验证是否符合您设定的要求。
一旦文件上传成功,还要返回一个上传成功的确认窗口。

下面是表单:

<form method="post" action="<?=base_url()?>admin/img_upload/" enctype="multipart/form-data" />
 <div style="margin:0 0 0.5em 0em;">
  <input type="file" name="userfile" size="20" class="button" />
  <input type="submit" value=" 上传 " class="button" />
 </div>
</form>

然后是下面是上传类:

public function img_upload()
{
 $this->load->helper('url'); $config['upload_path'] = './images/'.date('Ym', time()).'/';
 $config['allowed_types'] = 'gif|jpg|png';
 $config['file_name'] = date('Y_m_d', time()).'_'.sprintf('%02d', rand(0,99));
 $config['max_size'] = '500';
 $config['max_width']  = '1024';
 $config['max_height']  = '768';
 $this->load->library('upload', $config);
 if ( !$this->upload->do_upload())
   {
     $error = array('error' => $this->upload->display_errors());
   } 
 else
   {
     $data = array('upload_data' => $this->upload->data());
   }
}

需要用到的几个函数

$this->upload->do_upload():根据你的偏好配置参数执行操作。注意:默认情况下上传的文件来自于提交表单里名为userfile的文件域,并且该表单必须是 "multipart"类型。
$this->upload->display_errors():如果do_upload()返回失败,显示错误信息。此函数不会自动输出,而是返回数据,所以你可以按你的要求安排。
$this->upload->data():这是一个辅助函数,它返回你上传文件的所有相关信息的数组。

PHP 相关文章推荐
玩转图像函数库―常见图形操作
Sep 03 PHP
php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
Oct 31 PHP
php批量上传的实现代码
Jun 09 PHP
PHP生成不同颜色、不同大小的tag标签函数
Sep 23 PHP
PHP curl 获取响应的状态码的方法
Jan 13 PHP
ThinkPHP调用百度翻译类实现在线翻译
Jun 26 PHP
php无限极分类递归排序实现方法
Nov 11 PHP
Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法
Mar 21 PHP
CI框架中数据库操作函数$this-&gt;db-&gt;where()相关用法总结
May 17 PHP
Centos6.5和Centos7 php环境搭建方法
May 27 PHP
PHP实现批量检测网站是否能够正常打开的方法
Aug 23 PHP
PHP设计模式入门之状态模式原理与实现方法分析
Apr 26 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
Jun 12 #PHP
Codeigniter注册登录代码示例
Jun 12 #PHP
Codeigniter操作数据库表的优化写法总结
Jun 12 #PHP
codeigniter数据库操作函数汇总
Jun 12 #PHP
使用PHP函数scandir排除特定目录
Jun 12 #PHP
使用配置类定义Codeigniter全局变量
Jun 12 #PHP
CodeIgniter输出中文乱码的两种解决办法
Jun 12 #PHP
You might like
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
JS焦点图切换,上下翻转
2011/05/12 Javascript
jQuery结合HTML5制作的爱心树表白动画
2015/02/01 Javascript
AngularJS的内置过滤器详解
2015/05/14 Javascript
使用JS批量选中功能实现更改数据库中的status状态值(批量展示)
2016/11/22 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
2016/12/08 Javascript
JS获取多维数组中相同键的值实现方法示例
2017/01/06 Javascript
纯js实现页面返回顶部的动画(超简单)
2017/08/10 Javascript
Koa项目搭建过程详细记录
2018/04/12 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
vue中v-for循环给标签属性赋值的方法
2018/10/18 Javascript
使用Vue做一个简单的todo应用的三种方式的示例代码
2018/10/20 Javascript
通过说明与示例了解js五种设计模式
2019/06/17 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
2020/02/12 Javascript
vue在App.vue文件中监听路由变化刷新页面操作
2020/08/14 Javascript
[56:42]VP vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python正则表达式匹配中文用法示例
2017/01/17 Python
一个可以套路别人的python小程序实例代码
2019/04/09 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
详解从Django Allauth中进行登录改造小结
2019/12/18 Python
基于python实现简单C/S模式代码实例
2020/09/14 Python
Django 用户认证Auth组件的使用
2020/11/30 Python
全球最大的中文旅行网站:去哪儿网
2017/11/16 全球购物
Bally巴利中国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/10/09 全球购物
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
.NET面试题:什么是值类型和引用类型
2016/01/12 面试题
高中生的学习总结自我鉴定
2013/10/26 职场文书
车间操作工岗位职责
2013/12/19 职场文书
生产总经理岗位职责
2013/12/19 职场文书
大学生优秀团员事迹材料
2014/01/30 职场文书
学校搬迁方案
2014/06/15 职场文书
党的群众路线学习笔记
2014/11/06 职场文书
英语导游词
2015/02/13 职场文书
高并发下Redis如何保持数据一致性(避免读后写)
2022/03/18 Redis
Python中的协程(Coroutine)操作模块(greenlet、gevent)
2022/05/30 Python
TS 类型收窄教程示例详解
2022/09/23 Javascript