php 图片压缩函数

在TP6中,可以放到common.php中,重复利用。代码中设置了临时文件、上传目录和压缩倍数3个参数,也可以根据实际增加参数。使用php gd库,需要确认gd库是否加载。代码如下:

php 复制代码
function image_composer($file_tmp,$dir,$ratio)
{
    // 获取当前时间的毫秒数(包含秒和毫秒)
    $milliseconds = round(microtime(true) * 1000);

    //设置保存目录
    $uploadDir = $dir. '/'. $milliseconds .'.jpg';

    // 获取图片信息
    $imageInfo = getimagesize($file_tmp);
    $source = imagecreatefromjpeg($file_tmp);

    // 获取原始图片尺寸
    list($width, $height) = $imageInfo;

    // 设置新的图片尺寸(例如宽度为原来的一半)
    $newWidth = $width / $ratio;
    $newHeight = $height / $ratio;

    // 创建新的图片资源
    $newImage = imagecreatetruecolor($newWidth, $newHeight);
    // 调整图片尺寸
    imagecopyresampled($newImage, $source, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
    imagejpeg($newImage, $uploadDir, 80);

    // 释放内存
    imagedestroy($newImage);
    imagedestroy($source);

    return $uploadDir;
}
相关推荐
回家路上绕了弯12 小时前
内容平台核心工程:最热帖子排行实现与用户互动三元组存储查询
后端·微服务
王元_SmallA12 小时前
服务器公网IP、私网IP、弹性IP是什么?区别与应
java·后端
柠檬味拥抱13 小时前
Java 实现可靠的 WAV 音频拼接:从结构解析到完整可播放的高质量合并方案
后端
DyLatte13 小时前
AI时代的工作和成长
java·后端·程序员
Java水解14 小时前
初识MYSQL —— 基本查询
后端·mysql
用户4973573379814 小时前
夏曹俊:C++零基础到工程实战,视频+课件完结
后端
databook14 小时前
manim边做边学--文字创建销毁的打字机效果
后端·python·动效
林太白14 小时前
八大数据结构
前端·后端·算法
林太白14 小时前
Rust14-字典数据
后端·rust
国思RDIF框架14 小时前
国思RDIF低代码快速开发框架 v6.2.2版本发布
前端·vue.js·后端