CI框架文件上传类及图像处理类用法分析
更新时间:2016年5月20日 10:11 点击:2147
本文实例讲述了CI框架文件上传类及图像处理类用法。分享给大家供大家参考,具体如下:
//列表页banner图片 public function edit_list_page_banner($category_id=""){ $category_id= empty($category_id)?$_POST["category_id"]:$category_id; //上传图片 if(isset($_POST["key"]) && $_POST["key"] == "upload"){ /* 1.set_upload_path */ $config['upload_path']="./upload/source/".date("Y/m/d");//文件上传目录 if(!file_exists("./upload/source/".date("Y/m/d"))){ mkdir("./upload/source/".date("Y/m/d"),0777,true);//原图路径 } if(!file_exists("./upload/big_thumb/".date("Y/m/d"))){ mkdir("./upload/big_thumb/".date("Y/m/d"),0777,true);//大缩略图路径 } if(!file_exists("./upload/small_thumb/".date("Y/m/d"))){ mkdir("./upload/small_thumb/".date("Y/m/d"),0777,true);//小缩略图路径 } $config['allowed_types']="gif|jpg|png|txt";//文件类型 $config['max_size']="20000";//最大上传大小 $this->load->library("upload",$config); if($this->upload->do_upload('userfile'))//表单中name="userfile" { //上传成功之后,生成两张缩略图 $data=$this->upload->data();//返回上传图片的信息 $this->load->library("image_lib");//载入图像处理类库 //第一种方式:大缩略图的配置参数 /* $config_big_thumb['image_library'] = 'gd2';//gd2图库 $config_big_thumb['source_image'] = $data['full_path'];//原图 $config_big_thumb['new_image'] = "./upload/big_thumb/".date("Y/m/d")."/".$data['file_name'];//大缩略图 $config_big_thumb['create_thumb'] = true;//是否创建缩略图 $config_big_thumb['maintain_ratio'] = true; $config_big_thumb['width'] = 300;//缩略图宽度 $config_big_thumb['height'] = 300;//缩略图的高度 $config_big_thumb['thumb_marker']="_300_300";//缩略图名字后加上 "_300_300",可以代表是一个300*300的缩略图 */ //第二种:大缩略图的配置参数 /* $config_big_thumb=array( 'image_library' => 'gd2',//gd2图库 'source_image' => $data['full_path'],//原图 'new_image' => "./upload/big_thumb/".date("Y/m/d")."/".$data['file_name'],//大缩略图 'create_thumb' => true,//是否创建缩略图 'maintain_ratio' => true, 'width' => 300,//缩略图宽度 'height' => 300,//缩略图的高度 'thumb_marker'=>"_300_300"//缩略图名字后加上 "_300_300",可以代表是一个300*300的缩略图 ); */ //第三种方式:将部分配置信息放到了config.php文件中 $config_big_thumb=$this->config->item("config_big_thumb"); $config_big_thumb['source_image']=$data['full_path']; $config_big_thumb['new_image']="./upload/big_thumb/".date("Y/m/d")."/".$data['file_name']; //小缩略图的配置参数 /* $config_small_thumb['image_library'] = 'gd2';//gd2图库 $config_small_thumb['source_image'] = $data['full_path'];//原图 $config_small_thumb['new_image'] = "./upload/small_thumb/".date("Y/m/d")."/".$data['file_name'];//大缩略图 $config_small_thumb['create_thumb'] = true;//是否创建缩略图 $config_small_thumb['maintain_ratio'] = true; $config_small_thumb['width'] = 100;//缩略图宽度 $config_small_thumb['height'] = 100;//缩略图的高度 $config_small_thumb['thumb_marker']="_100_100";//缩略图名字后加上 "_100_100",可以代表是一个100*100的缩略图 */ //小缩略图的配置参数 $config_small_thumb=array( 'image_library' => 'gd2',//gd2图库 'source_image' => $data['full_path'],//原图 'new_image' => "./upload/small_thumb/".date("Y/m/d")."/".$data['file_name'],//大缩略图 'create_thumb' => true,//是否创建缩略图 'maintain_ratio' => true, 'width' => 100,//缩略图宽度 'height' => 100,//缩略图的高度 'thumb_marker'=>"_100_100"//缩略图名字后加上 "_300_300",可以代表是一个300*300的缩略图 ); //$this->load->library("image_lib",$config_thumb); $this->image_lib->initialize($config_big_thumb); $this->image_lib->resize();//生成big缩略图 $this->image_lib->initialize($config_small_thumb); $this->image_lib->resize();//生成small缩略图 //插入数据库 $data_array = array( 'category_id' => $category_id, 'pic_url' => "./upload/source/".date("Y/m/d")."/".$data['file_name'], 'addtime' => time(), 'is_stop' => 1, 'sort'=>0, 'gender' => $_POST["gender"], 'link_url'=>$_POST["link_url"], 'user_id' => intval($this->cur_user ['user_id']) ); $this->category_model->add_category_banner($data_array); } } $con_arr[] = " category_id= '{$category_id}'"; if ($gender=='' ) { $gender=0; } $con_arr[] = " gender= '{$gender}'"; $condition = implode( ' and ', $con_arr); $banner_list = $this->category_model->get_banner_all($condition); $this->tp->assign('banner_list', $banner_list); $this->tp->assign('base_url', base_url()); $this->tp->assign('gender', $gender); $this->tp->assign('category_id', $category_id); $this->tp->display("category/edit_list_page_banner.php"); }
config.php文件中有关缩略图的配置项:
//大缩略图的配置参数 $config_big_thumb=array( 'image_library' => 'gd2',//gd2图库 'create_thumb' => true,//是否创建缩略图 'maintain_ratio' => true, 'width' => 300,//缩略图宽度 'height' => 300,//缩略图的高度 'thumb_marker'=>"_300_300"//缩略图名字后加上 "_300_300",可以代表是一个300*300的缩略图 );
更多关于CodeIgniter相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。
相关文章
- 首先来看下流程:流程原理: 1.通过code获得access_token通过授权,并获取用户的信息(包括用户u_id)(这个u_id在后面的第三方登录表里面叫sina_id,那个表是需要自己建的) 2.查询第三方登录表,如果不存在用户sina_id,分2...2014-05-31
- 这篇文章主要介绍了jQuery+ajax简单实现文件上传的方法,结合实例形式简单分析了jQuery基于ajax的post方法进行文件传输及asp.net后台处理技巧,需要的朋友可以参考下...2016-06-12
- 这篇文章主要为大家详细介绍了js实现上传文件添加和删除文件选择框 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-10-25
- 这篇文章主要介绍了JQuery异步提交表单与文件上传功能,结合实例形式分析了jQuery表单提交及文件传输操作的相关实现技巧,需要的朋友可以参考下...2017-01-16
使用jQuery.form.js/springmvc框架实现文件上传功能
这篇文章主要介绍了使用jQuery.form.jsspringmvc框架实现文件上传功能,非常具有参考借鉴价值,感兴趣的朋友一起学习吧...2016-05-14jquery插件uploadify实现带进度条的文件批量上传
这篇文章主要介绍了jquery插件uploadify实现带进度条的文件批量上传,感兴趣的小伙伴们可以参考一下...2015-12-14- 这篇文章主要为大家详细介绍了两种php文件上传的实现方法,感兴趣的朋友可以参考一下...2016-04-07
- 这篇文章主要介绍了CI框架数据库查询之join用法,结合实例形式分析了join方法在数据库查询过程中的使用技巧,需要的朋友可以参考下...2016-05-20
- 这篇文章主要介绍了HTML5中用js、jQuery结合Ajax实现文件上传功能,HTML5中已经可以用Ajax上传文件了,而且代码简单,借助 FormData类即可发送文件数据,感兴趣的小伙伴们可以参考一下...2016-04-19
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
文件上传分为两个部分,HTML显示部分和PHP处理部分。这篇文章主要介绍了PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析,需要的朋友参考下吧...2017-01-15- 这篇文章主要介绍了Yii2使用自带的UploadedFile实现的文件上传的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2016-06-24
- 这篇文章主要介绍了CI框架文件上传类及图像处理类用法,设计CI框架图片上传及缩略图操作的相关技巧,需要的朋友可以参考下...2016-05-20
- 这篇文章主要介绍了CI框架支持$_GET的两种实现方法,实例分析了get传参方法与pathinfo两种方法的实现技巧,需要的朋友可以参考下...2016-05-20
- 这篇文章主要介绍了CI框架出现mysql数据库连接资源无法释放的解决方法,分析了CI框架出现连接超过最大值的原因与相应的解决方法,涉及CI框架相关配置技巧,需要的朋友可以参考下...2016-05-20
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
这篇文章主要介绍了CI框架源码解读之URI.php中_fetch_uri_string()函数用法,结合实例形式分析了CI框架中URL路由机制的原理与相关的config配置文件设置方法,需要的朋友可以参考下...2016-05-20- 本文章是一个自己的对CI框架的学习笔记,用一个完整的搜索,查找并且实现分页的程序给大家参考参考。 举个按关键词搜索结果分页的例子, 1.视图HTML 代码如下...2016-11-25
- 这篇文章主要介绍了JQuery fileupload插件实现文件上传功能的相关资料,需要的朋友可以参考下...2016-03-22
- 这篇文章主要介绍了CI框架的安全性,结合实例形式分析了CI框架字符过滤的相关技巧,需要的朋友可以参考下...2016-05-20
- 这篇文章主要介绍了CI框架集成Smarty的方法,对比分析并改进了网上已有的方法,详细介绍了CI框架继承Smarty模板的具体步骤与相关技巧,需要的朋友可以参考下...2016-05-20
- 这篇文章主要介绍了基于javascript html5实现多文件上传的相关资料,需要的朋友可以参考下...2016-03-07