mirko-pagliai / php-thumber
A PHP library to generate thumbnails
Installs: 24 912
Dependents: 2
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 2
Open Issues: 0
Requires
- php: >=8.1
- ext-fileinfo: *
- intervention/image: ^2.4
- mirko-pagliai/php-tools: ~1.9.2
Requires (Dev)
- ext-gd: *
- cakephp/cakephp-codesniffer: ^5.0
- phpstan/phpstan: ^1.10.38
- phpunit/phpunit: ^10.1.0 <=10.5.3
- vimeo/psalm: ^5.15.0
README
php-thumber is a PHP library for creating thumbnails on the fly and it implements a file cache for thumbnails. It uses intervention/image, working as wrapper.
Did you like this plugin? Its development requires a lot of time for me. Please consider the possibility of making a donation: even a coffee is enough! Thank you.
Requirements and supported formats
php-thumber requires GD Library (>=2.0) or Imagick PHP extension (>=6.5.7).
It's highly preferable to use Imagick, because It provides better performance and a greater number of supported formats.
Supported formats may vary depending on the library used.
For more information about supported format, please refer to the Intervention Image documentation.
Installation and configuration
You can install the plugin via composer:
$ composer require --prefer-dist mirko-pagliai/php-thumber
Therefore, before using the library, it may be necessary to configure some constants:
THUMBER_DRIVER
: the driver you want to use for the creation of thumbnails. Valid values areimagick
orgd
;THUMBER_TARGET
: full path directory where to create thumbnails (so you have to create this directory and make it writable).
An example:
define('THUMBER_DRIVER', 'imagick'); define('THUMBER_TARGET', '/tmp/php-thumber');
Otherwise, you can include/require the config/bootstrap.php
file, which will auto-determine the driver to use and set a temporary directory where to create thumbnails (on Unix environment, it will be /tmp/php-thumber
).
Installation on older PHP versions
Recent packages and the master branch require at least PHP 7.4 and the current development of the code is based on these and later versions of PHP. However, there are still some branches compatible with previous versions of PHP.
For PHP 7.4 or later
The php7.4 branch requires at least PHP 7.4.
In this case, you can install the package as well:
$ composer require --prefer-dist mirko-pagliai/php-thumber:dev-php7.4
Note that the php7.4
branch will no longer be updated as of January 05, 2024,
except for security patches, and it matches the
1.5.5 version.
For PHP 7.2 or later
The php7.2 branch requires at least PHP 7.2.
In this case, you can install the package as well:
$ composer require --prefer-dist mirko-pagliai/php-thumber:dev-php7.2
Note that the php7.2
branch will no longer be updated as of April 28, 2022,
except for security patches, and it matches the
1.4.3 version.
For PHP 5.6 or later
The php5.6 branch requires at least PHP 5.6.
In this case, you can install the package as well:
$ composer require --prefer-dist mirko-pagliai/php-thumber:dev-php5.6
Note that the php5.6
branch will no longer be updated as of April 22, 2021,
except for security patches, and it matches the
1.2.3 version.
How to use
See our wiki:
Refer to our API.
Testing
Some tests belong to the imageEquals
group. These tests generate thubnails and compare them with pre-loaded thumbnails (inside tests/examples/comparing_files
).
By default, these tests are not performed, because the images may be different if generated from different environments and systems.
To exclude these tests, you should run:
vendor/bin/phpunit --exclude-group imageEquals
Versioning
For transparency and insight into our release cycle and to maintain backward compatibility, php-thumber will be maintained under the Semantic Versioning guidelines.