php压缩图片
Posted 冰炏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php压缩图片相关的知识,希望对你有一定的参考价值。
<?php header(‘content-type:text/html;charset=utf8‘); set_time_limit(0); $imgs=scandir(‘./Public/ueditor/php/upload/image/20160905/‘); $arr=array(‘1473060007677277.jpg‘,‘1473060042860033.jpg‘,‘1473060080836580.jpg‘,‘1473060121598615.jpg‘,‘1473060387209306.jpg‘,‘1473060568136526.jpg‘); unset($imgs[0]);unset($imgs[1]); foreach($imgs as $k=>$v){ if(!in_array($v,$arr)){ subImage(‘./Public/ueditor/php/upload/image/20160905/‘.$v); echo $k.‘<br/>‘; } } function subImage($img){ //图片的等比缩放 //取得源图片的宽度和高度 $size_src=getimagesize($img); $w=$size_src[‘0‘]; $h=$size_src[‘1‘]; $mime=$size_src[‘mime‘]; //因为PHP只能对资源进行操作,所以要对需要进行缩放的图片进行拷贝,创建为新的资源 if($mime==‘image/jpeg‘){ $src=imagecreatefromjpeg($img); }elseif($mime==‘image/png‘){ $src=imagecreatefrompng($img); }else{ $src=imagecreatefromgif($img); } //指定缩放出来的最大的宽度(也有可能是高度) $max=300; if($w<=300&&$h<=300){return;} //根据最大值为300,算出另一个边的长度,得到缩放后的图片宽度和高度 if($w > $h){ $w=$max; $h=$h*($max/$size_src[‘0‘]); }else{ $h=$max; $w=$w*($max/$size_src[‘1‘]); } //声明一个$w宽,$h高的真彩图片资源 $image=imagecreatetruecolor($w, $h); //关键函数,参数(目标资源,源,目标资源的开始坐标x,y, 源资源的开始坐标x,y,目标资源的宽高w,h,源资源的宽高w,h) imagecopyresampled($image, $src, 0, 0, 0, 0, $w, $h, $size_src[‘0‘], $size_src[‘1‘]); //告诉浏览器以图片形式解析 header(‘content-type:image/png‘); imagepng($image,$img); //销毁资源 imagedestroy($image); }
以上是关于php压缩图片的主要内容,如果未能解决你的问题,请参考以下文章