基于php-cli的图片压缩工具
2022-03-30
这是一个基于php-cli的图片压缩工具,为了简便使用,做成了单文件版。
市面上常见的图片批量压缩工具通常只能压缩指定文件夹内的图片,如果文件夹中包含子文件夹、孙文件夹就需要重复添加,非常的麻烦。
所以在之前mmPic的基础上,改了改代码,用PHP遍历所有目录,并依次将图片压缩,最终可实现1:1的图片压缩。
压缩原则
压缩只针对图像文件,采用PHP二次绘制的方式,在不降低画质的情况下,大大降低体积。
同时,对于超高分辨率的照片,进行等比缩放,让最长边小于2000像素,从而进一步缩小体积。
实验证明,12MB左右的数码相机照片,经程序压缩后,可以做到1MB以下,非常好用。
其他文件
其他文件程序处理不了,会原样复制到输出文件夹。
使用方式
参数说明
- /from:原始图片文件夹输入
- /to:压缩后的图片输出
自建Docker运行
- 创建docker镜像
1
docker image build -t img-compress .
- 执行
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