使用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 相关文章推荐
用PHP实现的随机广告显示代码
Jun 14 PHP
php5 mysql分页实例代码
Apr 10 PHP
php去除重复字的实现代码
Sep 16 PHP
用php随机生成福彩双色球号码的2种方法
Feb 04 PHP
PHP大小写问题:函数名和类名不区分,变量名区分
Jun 17 PHP
深入掌握include_once与require_once的区别
Jun 17 PHP
PHP实现的MongoDB数据库操作类分享
May 12 PHP
php自动识别文件编码并转换为UTF-8的方法
Jun 12 PHP
php异步多线程swoole用法实例
Nov 14 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
Jan 07 PHP
PHP PDOStatement::errorCode讲解
Jan 31 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
Apr 16 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
PHP5中虚函数的实现方法分享
2011/04/20 PHP
Zend Studio去除编辑器的语法警告设置方法
2012/10/24 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
php实现格式化多行文本为Js可用格式
2015/04/15 PHP
Laravel框架实现文件上传的方法分析
2019/09/29 PHP
Javascript之旅 对象的原型链之由来
2010/08/25 Javascript
javascript学习笔记(三)显示当时时间的代码
2011/04/08 Javascript
jQuery输入城市查看地图使用介绍
2013/05/08 Javascript
jQuery 获取/设置/删除DOM元素的属性以a元素为例
2014/05/23 Javascript
在JavaScript中操作时间之setYear()方法的使用
2015/06/12 Javascript
JavaScript中的call方法和apply方法使用对比
2015/08/12 Javascript
JS使用eval解析JSON的注意事项分析
2015/11/14 Javascript
标准的js无缝滚动效果
2016/08/30 Javascript
AngularJS实现select的ng-options功能示例
2017/07/12 Javascript
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
2017/08/18 jQuery
Vue-cli创建项目从单页面到多页面的方法
2017/09/20 Javascript
jQuery序列化form表单数据为JSON对象的实现方法
2018/09/20 jQuery
angular 服务的单例模式(依赖注入模式下)详解
2018/10/22 Javascript
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
python self,cls,decorator的理解
2009/07/13 Python
python之import机制详解
2014/07/03 Python
深入解析Python中的descriptor描述器的作用及用法
2016/06/27 Python
Python网络爬虫项目:内容提取器的定义
2016/10/25 Python
Python使用Turtle模块绘制五星红旗代码示例
2017/12/11 Python
使用python实现链表操作
2018/01/26 Python
利用python 下载bilibili视频
2020/11/13 Python
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
两道JAVA笔试题
2016/09/14 面试题
图书室管理制度
2014/01/19 职场文书
对标管理实施方案
2014/03/12 职场文书
中华魂演讲稿
2014/05/13 职场文书
房地产广告策划方案
2014/05/15 职场文书
习总书记三严三实学习心得体会
2014/10/13 职场文书
初中开学典礼新闻稿
2015/07/17 职场文书
运动会闭幕式致辞
2015/07/29 职场文书
CSS 使用 resize 实现图片拖拽切换预览功能(强大功能)
2021/08/23 HTML / CSS