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;
}
相关推荐
金銀銅鐵1 分钟前
用 Tkinter 实现简单的猜数字游戏
后端·python
copyer_xyf19 分钟前
Python 模块与包的导入导出
前端·后端·python
夜微凉444 分钟前
三、Spring
java·后端·spring
copyer_xyf44 分钟前
Python venv 虚拟环境
前端·后端·python
copyer_xyf2 小时前
Python 如何同时做很多事:进程、线程、协程
前端·后端·python
Full Stack Developme2 小时前
Spring AOP 与 AspectJ
java·后端·spring
IT_陈寒4 小时前
被Vite的动态导入坑了一整天,原来问题出在这
前端·人工智能·后端
码事漫谈4 小时前
你的 AI 编程助手,为什么总在“乱来”?
后端
星浩AI4 小时前
接手 20 万行代码从哪读起?Understand-Anything 把仓库变成可探索的知识图谱
后端·github·claude