使用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下删除一篇文章生成的多个静态页面
Aug 08 PHP
PHP中输出转义JavaScript代码的实现代码
Apr 22 PHP
解析CI的AJAX分页 另类实现方法
Jun 27 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
May 11 PHP
php使用Jpgraph绘制3D饼状图的方法
Jun 10 PHP
[原创]php逐行读取txt文件写入数组的方法
Jul 02 PHP
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
Apr 12 PHP
PHP线程的内存回收问题
Jul 08 PHP
Laravel框架模板继承操作示例
Jun 11 PHP
PHP中define() 与 const定义常量的区别详解
Jun 25 PHP
php使用socket调用http和smtp协议实例小结
Jul 26 PHP
PHP序列化和反序列化深度剖析实例讲解
Dec 29 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通过PHPExcel导入Excel表格到MySQL数据库的简单实例
2016/10/29 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
jQuery第三课 修改元素属性及内容的代码
2010/03/14 Javascript
基于jQuery的Spin Button自定义文本框数值自增或自减
2010/07/17 Javascript
javascript实现div的拖动并调整大小类似qq空间个性编辑模块
2012/12/12 Javascript
jquery实现div拖拽宽度示例代码
2013/07/31 Javascript
node.js入门教程
2014/06/01 Javascript
javascript实现C语言经典程序题
2015/11/29 Javascript
json格式数据的添加,删除及排序方法
2016/01/21 Javascript
js简单判断移动端系统的方法
2016/02/25 Javascript
Bootstrap自定义文件上传下载样式
2016/05/26 Javascript
微信小程序 wx.request(object) API详解及实例代码
2016/09/30 Javascript
概述jQuery中的ajax方法
2016/12/16 Javascript
JavaScript实现设置默认日期范围为最近40天的方法分析
2017/07/12 Javascript
第一个Vue插件从封装到发布
2017/11/22 Javascript
JS实现点击复选框变更DIV显示状态的示例代码
2017/12/18 Javascript
Python基类函数的重载与调用实例分析
2015/01/12 Python
python下paramiko模块实现ssh连接登录Linux服务器
2015/06/03 Python
python中利用队列asyncio.Queue进行通讯详解
2017/09/10 Python
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
2017/12/14 Python
聊聊python里如何用Borg pattern实现的单例模式
2019/06/06 Python
python实现共轭梯度法
2019/07/03 Python
python交易记录链的实现过程详解
2019/07/03 Python
解决Pycharm的项目目录突然消失的问题
2020/01/20 Python
Python龙贝格法求积分实例
2020/02/29 Python
使用Python爬取弹出窗口信息的实例
2020/03/14 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
python利用faker库批量生成测试数据
2020/10/15 Python
手把手教你实现一个canvas智绘画板的方法
2019/03/04 HTML / CSS
澳大利亚女性快速时尚零售商:Ally Fashion
2018/04/25 全球购物
Kangol帽子官网:坎戈尔袋鼠
2018/09/26 全球购物
软件测试面试题
2014/01/05 面试题
运动会获奖感言
2014/02/11 职场文书
应届生求职自荐信范文
2014/04/07 职场文书
公司领导班子对照检查材料
2014/09/24 职场文书
nginx配置限速限流基于内置模块
2022/05/02 Servers