使用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 相关文章推荐
六酷社区论坛HOME页清新格调免费版 下载
Mar 07 PHP
php 字符过滤类,用于过滤各类用户输入的数据
May 27 PHP
php获取中文拼音首字母类和函数分享
Apr 24 PHP
php将access数据库转换到mysql数据库的方法
Dec 24 PHP
php模拟服务器实现autoindex效果的方法
Mar 10 PHP
php将日期格式转换成xx天前的格式
Apr 16 PHP
PHP安装threads多线程扩展基础教程
Nov 17 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
Apr 22 PHP
PHP调用API接口实现天气查询功能的示例
Sep 21 PHP
PHP校验15位和18位身份证号的类封装
Nov 07 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
Feb 15 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
Dec 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
967 个函式
2006/10/09 PHP
php intval的测试代码发现问题
2008/07/27 PHP
详解WordPress开发中的get_post与get_posts函数使用
2016/01/04 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
2016/02/15 PHP
比较完整的微信开发php代码
2016/08/02 PHP
php use和include区别总结
2019/10/13 PHP
php中array_fill函数的实例用法
2021/03/02 PHP
javascript操作字符串的原生方法
2014/12/22 Javascript
jquery+php实现滚动的数字特效
2015/11/29 Javascript
jQuery实现多级联动下拉列表查询框
2016/01/18 Javascript
js实现的二分查找算法实例
2016/01/21 Javascript
js 弹出虚拟键盘修改密码的简单实例
2016/10/10 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
2016/12/12 Javascript
微信小程序 本地存储及登录页面处理实例详解
2017/01/11 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
layui实现数据分页功能(ajax异步)
2019/07/27 Javascript
JavaScript使用表单元素验证表单的示例代码
2019/08/20 Javascript
JavaScript判断数组类型的方法
2019/10/23 Javascript
详解Vue+elementUI build打包部署后字体图标丢失问题
2020/07/13 Javascript
[01:50:49]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第三场 1月24日
2021/03/11 DOTA
实用自动化运维Python脚本分享
2018/06/04 Python
python3.5绘制随机漫步图
2018/08/27 Python
Python设计模式之状态模式原理与用法详解
2019/01/15 Python
python中必要的名词解释
2019/11/20 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
python中的unittest框架实例详解
2021/02/05 Python
HTML5+CSS3:3D展示商品信息示例
2017/01/03 HTML / CSS
阿玛瑞酒店中文官方网站:Amari.com
2018/02/13 全球购物
简述synchronized和java.util.concurrent.locks.Lock的异同
2014/12/08 面试题
社会公德演讲稿
2014/05/20 职场文书
鸦片战争观后感
2015/06/09 职场文书
2015年评职称个人工作总结
2015/10/15 职场文书
《西门豹》教学反思
2016/02/23 职场文书
终止合同协议书范本
2016/03/22 职场文书
2016年全国爱眼日宣传教育活动总结
2016/04/05 职场文书
如何使用Python提取Chrome浏览器保存的密码
2021/06/09 Python