php压缩图片

释放双眼,带上耳机,听听看~!

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
1<?php
2    header('content-type:text/html;charset=utf8');
3    set_time_limit(0);
4    $imgs=scandir('./Public/ueditor/php/upload/image/20160905/');
5    $arr=array('1473060007677277.jpg','1473060042860033.jpg','1473060080836580.jpg','1473060121598615.jpg','1473060387209306.jpg','1473060568136526.jpg');
6    unset($imgs[0]);unset($imgs[1]);
7    foreach($imgs as $k=>$v){
8        if(!in_array($v,$arr)){
9            subImage('./Public/ueditor/php/upload/image/20160905/'.$v);
10            echo $k.'<br/>';
11        }
12    }
13
14    function subImage($img){
15        //图片的等比缩放
16
17         //取得源图片的宽度和高度
18         $size_src=getimagesize($img);
19         $w=$size_src['0'];
20         $h=$size_src['1'];
21         $mime=$size_src['mime'];
22
23         //因为PHP只能对资源进行操作,所以要对需要进行缩放的图片进行拷贝,创建为新的资源
24         if($mime=='image/jpeg'){
25            $src=imagecreatefromjpeg($img);
26         }elseif($mime=='image/png'){
27            $src=imagecreatefrompng($img);
28         }else{
29            $src=imagecreatefromgif($img);
30         }
31
32         //指定缩放出来的最大的宽度(也有可能是高度)
33         $max=300;
34         if($w<=300&&$h<=300){return;}
35         //根据最大值为300,算出另一个边的长度,得到缩放后的图片宽度和高度
36         if($w > $h){
37             $w=$max;
38             $h=$h*($max/$size_src['0']);
39         }else{
40             $h=$max;
41             $w=$w*($max/$size_src['1']);
42         }
43         //声明一个$w宽,$h高的真彩图片资源
44         $image=imagecreatetruecolor($w, $h);
45
46          
47         //关键函数,参数(目标资源,源,目标资源的开始坐标x,y, 源资源的开始坐标x,y,目标资源的宽高w,h,源资源的宽高w,h)
48         imagecopyresampled($image, $src, 0, 0, 0, 0, $w, $h, $size_src['0'], $size_src['1']);
49
50         //告诉浏览器以图片形式解析
51         header('content-type:image/png');
52         imagepng($image,$img);
53
54         //销毁资源
55         imagedestroy($image);
56    }
57

 

转载于:https://www.cnblogs.com/binghuo000/p/6641076.html

给TA打赏
共{{data.count}}人
人已打赏
安全技术

C++ explicit关键字

2022-1-11 12:36:11

安全运维

dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb3.4-redis3.2整合(六)Spring中Redis的缓存的使用

2021-12-11 11:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索