php 压缩图片

 public function img($src)
    {

        $filename =$_SERVER['DOCUMENT_ROOT'].$src;
        $des =$_SERVER['DOCUMENT_ROOT'].$src;
        $info = getimagesize($filename);
        //获取图片的后缀
        $type = image_type_to_extension($info[2], false);

        switch($type)
        {
            case "png":
                $image=imagecreatefrompng($des);
                break;

            case "jpeg":
                $image=imagecreatefromjpeg($des);
                break;

            case "gif":
                $image=imagecreatefromgif($des);
                break;
        }

        //拼接图片资源句柄函数
//        $image=imagecreatefromjpeg($des);
        $a=getimagesize($des);
        $w=$a[0];
        $h=$a[1];
        if($w>$h){
            $width=200;
            $height=$width/$w*$h;
        }else if($w<$h){
            $height=200;
            $width=$height/$h*$w;
        }else{
            $width=200;
            $height=200;
        }
        //创建空白新图片
        $newimage=imagecreatetruecolor($width, $height);

        //copy源图片内容 copy新图片
        imagecopyresized($newimage, $image, 0,0, 0,0, $width, $height, $w, $h);

        //销毁缓存的图片,释放内存
        imagedestroy($image);

        //图片输出函数拼接
        $outFunc = 'image'.$type;

        //设置文件路径
        $rand = rand(10000,99999);
        $time = time();
        $ml = './uploads/'.date('Ymd', $time).'_thumb';//目录名称
        $url = $ml.'/'.$time.$rand.'.png';//存储的路径
        $res_url = '/uploads/'.date('Ymd', $time).'_thumb'.'/'.$time.$rand.'.png';//存储的路径

        //判断目录是否存在
        if (file_exists($ml) == false){
            //创建目录,并且设置最高权限
            if (mkdir($ml, 0700, true)){

            }else{
                return false;
            }
        }
        //生成图片
        if ($outFunc($newimage,$url)){
            return $res_url;
        }else{
            return false;
        }

    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值