基于php-cli的图片压缩工具
2022-03-30

这是一个基于php-cli的图片压缩工具,为了简便使用,做成了单文件版。

市面上常见的图片批量压缩工具通常只能压缩指定文件夹内的图片,如果文件夹中包含子文件夹、孙文件夹就需要重复添加,非常的麻烦。

所以在之前mmPic的基础上,改了改代码,用PHP遍历所有目录,并依次将图片压缩,最终可实现1:1的图片压缩。

压缩原则

压缩只针对图像文件,采用PHP二次绘制的方式,在不降低画质的情况下,大大降低体积。

同时,对于超高分辨率的照片,进行等比缩放,让最长边小于2000像素,从而进一步缩小体积。

实验证明,12MB左右的数码相机照片,经程序压缩后,可以做到1MB以下,非常好用。

其他文件

其他文件程序处理不了,会原样复制到输出文件夹。

使用方式

参数说明

  1. /from:原始图片文件夹输入
  2. /to:压缩后的图片输出

自建Docker运行

  1. 创建docker镜像
    1
    docker image build -t img-compress .
  2. 执行
    1
    docker run -it --rm -v /img/input/dir:/from -v /img/output/dir:/to img-compress

使用我创建的Docker运行

1
docker run -it --rm -v /img/input/dir:/from -v /img/output/dir:/to yhf7952/img-compress

php环境中运行

下载img.php,并修改输入输出路径,在php中执行

1
php img.php

那么怎么得到它呢

Github: yhf7952/img-compress