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;
}
相关推荐
苍何8 小时前
开源微信流 Windows,微信聊天记录,可以直接给 Codex 和 Obsidan 了
后端
代码什么用9 小时前
Spring基础使用
java·后端·spring
明月_清风10 小时前
Deno 终局来了:从挑战 Node 到被 Cloudflare 收编
前端·后端·node.js
蜗牛互联网10 小时前
Java 17 HttpClient调用文件转写API的超时与失败回退
java·人工智能·后端
用户693717500138413 小时前
2026,程序员的时代拐点到了
android·前端·后端
惜鸟13 小时前
从源码看 pi 的上下文管理:原始数据永久保留,模型视角按需裁剪
后端
量化分析码农13 小时前
【Python量化策略评估体系 #05】极端行情扛得住吗?2008/2015/2020 三场景压力测试
后端
十年Java程序媛13 小时前
Java 接口和抽象类对比|Java8 新特性,抛弃老旧八股,正确选型
java·spring boot·后端
IT_陈寒13 小时前
SpringBoot自动配置差点让我加班到凌晨
前端·人工智能·后端
用户83562907805113 小时前
使用 Python 对 Excel 工作表进行排序
后端·python