zoukankan      html  css  js  c++  java
  • PHP 使用gd库压缩图片并生成新图片返回全路径

    使用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('压缩图片失败');
    }
  • 相关阅读:
    重构项目使用Spring+Hibernate+HibernateAnnotation+GenericDao技术
    java调用bat
    Redis快速入门
    PDF中添加页面/合并 PDF 内容
    eclipse+webservice开发实例
    MYSQL Migration Toolkit 安装
    从CSDN搬家到博客园
    The server does not support version 3.0 of the J2EE Web module specification
    HibernateAnnotation入门实例
    github使用总结
  • 原文地址:https://www.cnblogs.com/junyi-bk/p/11660404.html
Copyright © 2011-2022 走看看