使用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 Zip解压 文件在线解压缩的函数代码
May 26 PHP
PHP类中Static方法效率测试代码
Oct 17 PHP
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
Dec 02 PHP
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
Jun 24 PHP
PHP url 加密解密函数代码
Aug 26 PHP
php从右向左/从左向右截取字符串的实现方法
Nov 28 PHP
PHP URL路由类实例
Nov 12 PHP
Codeigniter注册登录代码示例
Jun 12 PHP
PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程
Aug 23 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
Oct 22 PHP
php给数组赋值的实例方法
Sep 26 PHP
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
Oct 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
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
PHP扩展模块memcached长连接使用方法分析
2014/12/24 PHP
实现PHP框架系列文章(6)mysql数据库方法
2016/03/04 PHP
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
2013/03/21 Javascript
纯js实现瀑布流展现照片(自动适应窗口大小)
2013/04/08 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
浅谈js构造函数的方法与原型prototype
2016/07/04 Javascript
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
AngularJS变量及过滤器Filter用法分析
2016/11/22 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
JS动态生成年份和月份实例代码
2017/02/04 Javascript
微信小程序 flex实现导航实例详解
2017/04/26 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
搭建element-ui的Vue前端工程操作实例
2018/02/23 Javascript
解决vue处理axios post请求传参的问题
2018/03/05 Javascript
vue+springmvc导出excel数据的实现代码
2018/06/27 Javascript
Vue项目引进ElementUI组件的方法
2018/11/11 Javascript
详解服务端预渲染之Nuxt(介绍篇)
2019/04/07 Javascript
解决vue页面刷新,数据丢失的问题
2020/11/24 Vue.js
[44:40]Serenity vs Pain 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python中文乱码不着急,先看懂字节和字符
2017/12/20 Python
PyQT5 QTableView显示绑定数据的实例详解
2019/06/25 Python
10分钟用python搭建一个超好用的CMDB系统
2019/07/17 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
Win10下用Anaconda安装TensorFlow(图文教程)
2020/06/18 Python
Python 实现RSA加解密文本文件
2020/12/30 Python
CSS3实现各种图形的示例代码
2016/10/19 HTML / CSS
Mankind西班牙男士护肤品网站:购买皮肤护理、护发和剃须
2017/04/27 全球购物
机电专业个人自荐信格式模板
2013/09/23 职场文书
工业学校毕业生自荐信范文
2014/01/03 职场文书
庆八一活动方案
2014/01/25 职场文书
《走一步再走一步》教学反思
2014/02/15 职场文书
音乐教学随笔感言
2014/02/19 职场文书
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
原型和原型链 prototype和proto的区别详情
2021/11/02 Javascript
浅谈Vue的computed计算属性
2022/03/21 Vue.js