使用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 相关文章推荐
在IIS上安装PHP4.0正式版
Oct 09 PHP
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
May 09 PHP
奉献出一个封装的curl函数 便于调用(抓数据专用)
Jul 22 PHP
php中apc缓存使用示例
Dec 25 PHP
php分页示例分享
Apr 30 PHP
采用ThinkPHP中F方法实现快速缓存实例
Jun 13 PHP
高性能PHP框架Symfony2经典入门教程
Jul 08 PHP
php实现给一张图片加上水印效果
Jan 02 PHP
php文件系统处理方法小结
May 23 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
Dec 29 PHP
php实现微信公众号创建自定义菜单功能的实例代码
Jun 11 PHP
解决php扩展安装不生效问题
Oct 25 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生成html分页列表的代码
2007/03/18 PHP
在IIS下安装PHP扩展的方法(超简单)
2017/04/10 PHP
[原创]php正则删除img标签的方法示例
2017/05/27 PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
2019/06/12 PHP
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
非阻塞动态加载javascript广告实现代码
2010/11/17 Javascript
使用jQuery和PHP实现类似360功能开关效果
2014/02/12 Javascript
JSON+HTML实现国家省市联动选择效果
2014/05/18 Javascript
js 模式窗口(模式对话框和非模式对话框)的使用介绍
2014/07/17 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
JS修改地址栏参数实例代码
2016/06/14 Javascript
jQuery文字提示与图片提示效果实现方法
2016/07/04 Javascript
Javascript中apply、call、bind的巧妙使用
2016/08/18 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
2016/09/06 Javascript
JavaScript中的ajax功能的概念和示例详解
2016/10/17 Javascript
domReady的实现案例
2016/11/23 Javascript
详解支持Angular 2的表格控件
2017/01/19 Javascript
微信小程序 chooseImage选择图片或者拍照
2017/04/07 Javascript
简单的JS控制button颜色随点击更改的实现方法
2017/04/17 Javascript
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
微信小程序解除10个请求并发限制
2018/12/18 Javascript
pycharm 使用心得(七)一些实用功能介绍
2014/06/06 Python
python处理文本文件并生成指定格式的文件
2014/07/31 Python
python 如何去除字符串头尾的多余符号
2019/11/19 Python
什么叫做SQL注入,如何防止
2016/10/04 面试题
大学生的创业计划书就该这么写
2014/01/30 职场文书
幼儿园毕业家长感言
2014/02/10 职场文书
公司总经理工作职责管理办法
2014/02/28 职场文书
《在家里》教后反思
2014/03/01 职场文书
艺校音乐专业自我鉴定范文
2014/03/01 职场文书
业务员的岗位职责
2014/03/15 职场文书
实现中国梦思想汇报2014
2014/09/13 职场文书
2014年小学教研工作总结
2014/12/06 职场文书
python如何利用traceback获取详细的异常信息
2021/06/05 Python
Redis中有序集合的内部实现方式的详细介绍
2022/03/16 Redis
Python 读取千万级数据自动写入 MySQL 数据库
2022/06/28 Python