geckon01 / simple-image-compressor
SimpleImageCompressor is a tiny simple PHP image compressor lib which allows you to compress any image easily on the fly
Requires
- php: >=7.4
- ext-gd: *
This package is not auto-updated.
Last update: 2025-04-21 18:25:16 UTC
README
SimpleImageCompressor - is a tiny simple PHP image resizer lib which allows you to resize and compress any image easily on the fly.
Installation
With composer
composer require "geckon01/simple-image-compressor"
Without composer
- Download latest release here.
- Unpack archive to any folder of your project you wish.
- Load main lib files:
require "src/SimpleImageCompressor.php"; require "src/CompressedImage.php"; use geckon01\SimpleImageCompressor\SimpleImageCompressor;
Usage
To resize and compress your image you can use next code:
$resolutionTargetPercent = 50; $targetQuality = 50; $compressor = SimpleImageCompressor::load("image.png"); $compressedImage = $compressor->resizeAndCompress($resolutionTargetPercent, $targetQuality); $compressedImage->toFile("image");
load method supports loading from local file, or you can specify any valid URL image link like this:
$compressor = SimpleImageCompressor::load("https://example.com/image.jpg");
This lib support chaining, so you can do something like this:
SimpleImageCompressor::load("image.png") ->resizeAndCompress(50, 50) ->toFile("image");
Note that you don't need to specify file extension. The lib will save file with proper one automatically.
Output format
You can specify output format. Supported output fomats are:
$compressedImage->toFile("image");
$compressedImage->toBase64();
$compressedImage->toGdImage();
Max/min height/width
Also you can set approximate minumum and maximum image size.
$compressor->setApproxMinimumHeight(500); $compressor->setApproxMinimumWidth(500);
Note that Due to saving proportion lib can't guarantee that width and height be equals max and min . As example, if we have original image 1920x1080 which we want to get 50% of original resolution and save original 16x9 aspect ration the reduced image must be 960x540.
License
This software is licensed under the MIT License. View the license.