Удобный пакет для конвертирования изображений в нужную папку для Laravel 7+
composer require daaner/convertimage
Добавьте в шапку
use Daaner\ConvertImage\ConvertImage;
Выполните публикацию конфига командой:
php artisan vendor:publish --provider="Daaner\ConvertImage\ConvertImageServiceProvider"
Передаете изображение - возвращается путь к конвертируемому. Для удобства есть некоторые методы API
$serv = new ConvertImage;
$output = $serv->convert('/images/foobar.jpg?12345');
dd($output);
Устанавливает папку для сохранения, относительно значения в конфиге. При отсутствии папки - создаст ее
$serv = new ConvertImage;
$serv->setFolder('222');
$serv->convert('/images/foobar.jpg?12345');
// config - 'dir' => '/images',
// output /image/222/foobar.jpg
Позволяет игнорировать конфиг в частном случае. При изображении из внешнего источника (начинается на http) - удаление оригинала не произойдет.
$serv = new ConvertImage;
$serv->deleteAfter(true);
$serv->convert('/images/foobar.jpg?12345');
// config - 'delete_after_convert' => false,
// output оригинал будет удален
Установка имени будущего файла
$serv = new ConvertImage;
$serv->setName('foo baz bar 1');
$serv->convert('/images/foobar.jpg?12345');
// foo-baz-bar-1.jpg
Изменение размеров изображения отличного от дефолтного
$serv = new ConvertImage;
$serv->resize(600, 800);
$serv->convert('/images/foobar.jpg?12345');
// config - 'width' => 1200
// config - 'height' => 800
// output 'width' => 600
// output 'height' => 800
Изменение качества изображения отличного от дефолтного
$serv = new ConvertImage;
$serv->setQuality(50);
$serv->convert('/images/foobar.jpg?12345');
// config - 'quality' => 80
// output 'quality' => 50
Форсированное создание webP не учитывая значения конфига.
!!! НЕ будет создаваться, если файл внешний и не указана опция convert_external_url
$serv = new ConvertImage;
$serv->createWebP(true);
$serv->convert('/images/foobar.jpg?12345');
// config - 'create_webp' => false
// output 'create_webp' => true
Изменение формата изображения отличного от дефолтного. Поддерживаемые форматы тут
$serv = new ConvertImage;
$serv->setFormat('gif');
$serv->convert('/images/foobar.jpg?12345');
// config - 'format' => 'jpg'
// output file *.gif
Перезаписывает файл, если таковой уже имеется. Если отключено - при наличии файла, создает новый и добавляет метку времени к названию. Не относится к webP. Изображение webP ВСЕГДА имеет такое же имя, как и файл после обработки
$serv = new ConvertImage;
$serv->forceOverwrite(true);
$serv->convert('/images/foobar.jpg?12345');
// config - 'overwrite' => false
// output overwrite converted file if isset
$serv = new ConvertImage;
$serv->forceOverwrite(false);
$serv->setName('isset-foo-bar');
$serv->convert('/images/foobar.jpg?12345');
// config - 'overwrite' => false
// isset file isset-foo-bar.jpg
// output file isset-foo-bar-1234567.jpg
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.