加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP 使用gd库压缩图片并生成新图片返回全路径

发布时间:2020-12-13 21:26:04 所属栏目:PHP教程 来源:网络整理
导读:使用gd库前,先检查是否开启了gd库 phpinfo (); 如果在php配置信息里找到了gd库,那么就是开启了,没开启的自行百度如何开启php gd库 ? ? ? ?既然开启了gd库,那么直接再php里写入以下代码即可 // 获取图片信息 $filename = ‘./11.jpg‘ ; $info = getimage

使用gd库前,先检查是否开启了gd库

phpinfo();

如果在php配置信息里找到了gd库,那么就是开启了,没开启的自行百度如何开启php gd库

?

?

?

?既然开启了gd库,那么直接再php里写入以下代码即可

//获取图片信息
$filename = ‘./11.jpg‘;
$info = getimagesize($filename);

//获取图片的后缀
$type = image_type_to_extension($info[2],false);
//拼接图片资源句柄函数
$func = ‘imagecreatefrom‘.$type;
//创建图片资源句柄
$image = $func($filename);

//生成缩略图,宽高都缩小1/2
//1、在内存中创建画板                        宽          高
$image_thumb = imagecreatetruecolor($info[1]/4,$info[1]/2);
//2、将原图复制到新建的画板上,并按照一定比例压缩
imagecopyresampled($image_thumb,$image,$info[1]/4,$info[1]/2,$info[0],$info[0]);

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

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

//设置文件路径
$ml = date(‘Ymd‘,time());//目录名称
$url = $ml.‘/‘.time().‘.png‘;//存储的路径

//判断目录是否存在
if (file_exists($ml) == false){
    //创建目录,并且设置最高权限
    if (mkdir($ml,0700,true)){
        echo ‘创建目录成功‘;
    }else{
        echo ‘创建目录失败‘;
    }
}

//判断是http还是https
$http_type = ((isset($_SERVER[‘HTTPS‘]) && $_SERVER[‘HTTPS‘] == ‘on‘) || (isset($_SERVER[‘HTTP_X_FORWARDED_PROTO‘]) && $_SERVER[‘HTTP_X_FORWARDED_PROTO‘] == ‘https‘)) ? ‘https://‘ : ‘http://‘;
//全路径
$urls = $http_type . $_SERVER[‘HTTP_HOST‘] . $_SERVER[‘REQUEST_URI‘] . $url;


//生成图片
if ($outFunc($image_thumb,$url)){
    var_dump(‘压缩图片成功,图片路径为:‘.$urls);
}else{
    var_dump(‘压缩图片失败‘);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读