首页 > Web开发 > 详细

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

时间:2019-10-12 11:42:14      阅读:105      评论:0      收藏:0      [点我收藏+]

使用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, 0, 0,0,0,
    $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(‘压缩图片失败‘);
}

 

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

原文:https://www.cnblogs.com/junyi-bk/p/11660404.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!