使用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 相关文章推荐
基于mysql的论坛(7)
Oct 09 PHP
php array_map array_multisort 高效处理多维数组排序
Jun 11 PHP
openPNE常用方法分享
Nov 29 PHP
如何获知PHP程序占用多少内存(memory_get_usage)
Sep 23 PHP
关于尾递归的使用详解
May 02 PHP
Destoon模板制作简明教程
Jun 20 PHP
Thinkphp中import的几个用法详细介绍
Jul 02 PHP
Yii核心验证器api详解
Nov 23 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
Mar 30 PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
Apr 10 PHP
Laravel框架实现多数据库连接操作详解
Jul 12 PHP
Yii框架安装简明教程
May 15 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 和 MySQL 开发的 8 个技巧
2007/01/02 PHP
php生成xml简单实例代码
2009/12/16 PHP
php5.5新数组函数array_column使用
2013/07/08 PHP
php实现的常见排序算法汇总
2014/09/08 PHP
php中call_user_func函数使用注意事项
2014/11/21 PHP
php获取本周开始日期和结束日期的方法
2015/03/09 PHP
thinkphp整合微信支付代码分享
2016/11/24 PHP
基于Laravel实现的用户动态模块开发
2017/09/21 PHP
js控制表单操作的常用代码小结
2013/08/15 Javascript
JavaScript 事件入门知识
2015/04/13 Javascript
简介JavaScript中search()方法的使用
2015/06/06 Javascript
函数window.open实现关闭所有的子窗口
2015/08/03 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
利用CSS3在Angular中实现动画
2016/01/15 Javascript
BootStrap中Datepicker控件带中文的js文件
2016/08/10 Javascript
微信公众平台开发教程(六)获取个性二维码的实例
2016/12/02 Javascript
Vue.js做select下拉列表的实例(ul-li标签仿select标签)
2018/03/02 Javascript
vue相同路由跳转强制刷新该路由组件操作
2020/08/05 Javascript
javascript实现图片轮换动作方法
2020/08/07 Javascript
[57:50]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第二局
2016/03/05 DOTA
[36:43]NB vs Optic 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
ptyhon实现sitemap生成示例
2014/03/30 Python
Python专用方法与迭代机制实例分析
2014/09/15 Python
介绍Python中几个常用的类方法
2015/04/08 Python
python实现向ppt文件里插入新幻灯片页面的方法
2015/04/28 Python
python多进程提取处理大量文本的关键词方法
2018/06/05 Python
Python 多线程不加锁分块读取文件的方法
2018/12/11 Python
在 Linux/Mac 下为Python函数添加超时时间的方法
2020/02/20 Python
CSS3中Transform动画属性用法详解
2016/07/04 HTML / CSS
鲜为人知的HTML5语音合成功能
2019/05/17 HTML / CSS
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
八项规定整改措施
2014/02/12 职场文书
学生会自荐信
2019/05/16 职场文书
nginx搭建图片服务器的过程详解(root和alias的区别)
2021/03/31 Servers
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers
德劲DE1102数字调谐收音机机评
2022/04/07 无线电