本文实例讲述了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框架的PHP程序设计有所帮助。
相关文章
猜你喜欢
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
- 64M VPS建站:能否支持高流量网站运行? 2025-06-10
- 64M VPS建站:怎样选择合适的域名和SSL证书? 2025-06-10
- 64M VPS建站:怎样优化以提高网站加载速度? 2025-06-10
- 64M VPS建站:是否适合初学者操作和管理? 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-05-27 73
-
2025-05-27 70
-
2025-05-25 46
-
2025-05-25 90
-
2025-05-25 26
热门评论