使用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 相关文章推荐
PHP4中实现动态代理
Oct 09 PHP
php smarty的预保留变量总结
Dec 04 PHP
深入php define()函数以及defined()函数的用法详解
Jun 05 PHP
php采用file_get_contents代替使用curl实例
Nov 07 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
Mar 03 PHP
PHPExcel导出2003和2007的excel文档功能示例
Jan 04 PHP
php封装的mongodb操作类代码
Aug 06 PHP
Yii2压缩PHP中模板代码的输出问题
Aug 28 PHP
Laravel框架文件上传功能实现方法示例
Apr 16 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
May 08 PHP
提高Laravel应用性能方法详解
Jun 24 PHP
Yii2 queue的队列使用详解
Jul 19 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
浅谈电磁辐射对健康的影响
2021/03/01 无线电
PHP连接SQLSERVER 注意事项(附dll文件下载)
2012/06/28 PHP
php实现可逆加密的方法
2015/08/11 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
2015/10/09 PHP
PHP和Mysql中转UTF8编码问题汇总
2015/10/10 PHP
Symfony2之session与cookie用法小结
2016/03/18 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
2016/11/15 PHP
PHP attributes()函数讲解
2019/02/03 PHP
初学Javascript的一些总结
2008/11/03 Javascript
js+csss实现的一个带复选框的下拉框
2014/09/29 Javascript
js操作滚动条事件实例
2015/01/29 Javascript
jQuery 1.9.1源码分析系列(十三)之位置大小操作
2015/12/02 Javascript
JS获取及验证开始结束日期的方法
2016/08/20 Javascript
vue2.0开发实践总结之疑难篇
2016/12/07 Javascript
Js apply方法详解
2017/02/16 Javascript
原生JS实现旋转轮播图+文字内容切换效果【附源码】
2018/09/29 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
详细分析vue响应式原理
2020/06/22 Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
2020/08/19 Javascript
Vue实现随机验证码功能
2020/12/29 Vue.js
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
2014/01/19 Python
Python守护进程(daemon)代码实例
2015/03/06 Python
python如何使用unittest测试接口
2018/04/04 Python
Python实现求解一元二次方程的方法示例
2018/06/20 Python
python中将zip压缩包转为gz.tar的方法
2018/10/18 Python
python实现nao机器人身体躯干和腿部动作操作
2019/04/29 Python
Python爬虫分析微博热搜关键词的实现代码
2021/02/22 Python
茶叶生产计划书
2014/01/10 职场文书
《列夫托尔斯泰》教学反思
2014/02/10 职场文书
教师中国梦演讲稿
2014/04/23 职场文书
博士生专家推荐信
2014/09/26 职场文书
人事主管岗位职责
2015/02/04 职场文书
公司禁烟通知
2015/04/23 职场文书
辛亥革命观后感
2015/06/02 职场文书
爱国主义教育主题班会
2015/08/13 职场文书
Nginx域名转发https访问的实现
2021/03/31 Servers