thinkphp3快速压缩大图片

thinkphp3图片压缩:https://www.kancloud.cn/manual/thinkphp/1878
用TP3下的图像类拇指+节省可以生成JPG缩略图,但是当图片上传太大时,生成的时间会过长(10M的生成JPG用了2分钟),所以我没有用TP3缩略图方法。

$name = I('post.name');
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 31457280;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');
// 设置附件上传类型
$upload->rootPath = './Inter/image/'.$name.'/'; // 设置附件上传根目录
$upload->savePath = ''; // 设置附件上传(子)目录
$upload->saveName = array('date', 'His' . rand(100, 999));

// 上传文件
$info = $upload->upload();

if (!$info) {//上传错误提示错误信息
    return $this->ajaxReturn(array('code'=>400,'info'=>$upload->getError()));
} else {// 上传成功
    $imgurl = $_SERVER['REQUEST_SCHEME'].'://'.$_SERVER['SERVER_NAME'].__ROOT__.'/Inter/image/'.$name.'/' . $info["file"]["savepath"] . $info["file"]["savename"];
    //获取url的后面部分
    $uri = strchr($imgurl,__ROOT__);
    //绝对路径
    $www = '/baleijia/wamp/www/'.$uri;
    //后缀(.gif)
    $hz = strrchr(basename($imgurl),'.');
    if(strstr(strtolower($hz),'jpg')){
        $imgurl1 = $imgurl;
    }else{
        $trueurl = str_replace($hz,'.jpg',$www);
        $weburl = str_replace($hz,'.jpg',$uri);
        $size=getimagesize($www);
        $image=imagecreatetruecolor($size[0],$size[1]);
        $upimg=imagecreatefromgif($www);
        imagecopy($image,$upimg,0,0,0,0,$size[0],$size[1]);
        imagejpeg($image,$trueurl);
        move_uploaded_file($www,$trueurl);
        $imgurl1 = $_SERVER['REQUEST_SCHEME'].'://'.$_SERVER['SERVER_NAME'].$weburl;
    }

    return $this->ajaxReturn(array('code'=>200,'info'=>$imgurl,'info1'=>$imgurl1));
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值