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));
}