图片优化
图片优化插件 · 一键压缩 使用说明
插件名称:图片优化(imgopt) 版本:v1.1.0
作用:一键把上传的大图压小,加快网站打开速度、省流量。

一、它能做什么
- 自动扫描
public/uploads下的所有 jpg / jpeg / png 图片 - 只处理 超过 300KB 的大图,小图不动
- 宽度超过 1600px 的等比例缩小到 1600px
- JPEG 质量 78、PNG 压缩级别 6(肉眼几乎看不出差别)
- 原地覆盖,文件名和网址都不变,已发布的文章图片不会失效
- 每批处理 8 张,自动一批批跑完;已处理过的自动跳过,随时能停、随时能继续
- 首页显示「累计已节省」,一眼看到压掉了多少体积
二、怎么用(3 步)
- 后台左侧菜单 →「图片优化」→「图片压缩」
- 看顶部四个数字,确认「待压缩」有几张
- 点「一键压缩」,等进度条走完即可
想刷新数据就点「重新扫描」;压缩过程中关掉页面也没关系,下次点「一键压缩」会接着压剩下的。
三、界面上的四个数字
| 指标 | 含义 |
|---|---|
| 图片总数 | uploads 目录里一共多少张 jpg/png |
| 图片总大小 | 这些图片加起来占多少空间 |
| 待压缩(超300KB) | 还没压缩的大图数量 / 体积 |
| 累计已节省 | 历史压缩一共省下了多少空间 |
四、压缩参数
| 参数 | 默认值 | 说明 |
|---|---|---|
| 触发阈值 | 300 KB | 只压大于这个体积的图 |
| 最大宽度 | 1600 px | 超过就等比缩小 |
| JPEG 质量 | 78 | 质量越高越清晰、体积越大 |
| PNG 级别 | 6 | 0~9,数值越大压得越狠、越慢 |
| 每批数量 | 8 张 | 分批处理,避免超时 |
参数写死在 app/admin/controller/imgopt/Index.php 顶部常量里,需要调整时改这几个数字:
const MAX_KB = 300; // 只压缩超过此大小的文件
const MAX_W = 1600; // 最大保留宽度
const QUALITY = 78; // JPEG 质量
const PNG_LEVEL = 6; // PNG 压缩级别
const BATCH = 8; // 每批处理张数五、常见问题
Q:压缩后图片会不会模糊?
A:质量 78 + 1600px 宽,网页上基本看不出来,但体积能小一大截。对清晰度要求高的站,把 QUALITY 调到 85 左右即可。
Q:能不能恢复原图?
A:不能,是原地覆盖。第一次用建议先备份 uploads 目录。
Q:为什么有的图压完没变化?
A:压缩后反而更大的文件会自动放弃,保留原图,不会越压越大。
Q:图片会不会被重复压缩?
A:不会。处理记录存在 {prefix}imgopt_log 表里,处理过的自动跳过。
Q:之前用宝塔计划任务 compress_cron.php 压图的还要留着吗?
A:不用了,本插件功能完全覆盖,可以停掉计划任务。
六、安装与卸载
安装
- 把插件压缩包上传到网站根目录并解压(自动放到
modules/imgopt/) - 后台右上角「清除缓存」
- 刷新后台,左侧出现「图片优化」菜单即可使用
卸载
- 删除
modules/imgopt/目录 - 删除
app/admin/controller/imgopt/和app/admin/view/imgopt/ - 删除数据表
{prefix}imgopt_log,在「权限管理」里删掉「图片优化」菜单
⚠️ 不要在「模块管理」里对本插件做安装/卸载,会触发官网市场远程授权验证。
七、使用建议
- 先备份,再压缩(至少第一次这样做)
- 压缩完成后再开七牛云 CDN,省流量 + 加速效果翻倍
- 上传前自己先把图压到 300KB 以内,插件就不会有活干了——这是最省事的做法
BadouCMS