CI框架文件上传类及图像处理类用法分析
内容摘要
本文实例讲述了CI框架文件上传类及图像处理类用法。分享给大家供大家参考,具体如下:
//列表页banner图片
public function edit_list_page_banner($category_id=""){
$cat
//列表页banner图片
public function edit_list_page_banner($category_id=""){
$cat
文章正文
本文实例讲述了CI框架文件上传类及图像处理类用法。分享给大家供大家参考,具体如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | //列表页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文件中有关缩略图的配置项:
1 2 3 4 5 6 7 8 9 | //大缩略图的配置参数 $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程序设计有所帮助。
代码注释