nickdekruijk/imageresize

A simple, yet efficient solution for image resizing and caching with Laravel

1.2.2 2021-04-28 14:20 UTC

This package is auto-updated.

Last update: 2024-03-28 20:28:51 UTC


README

Latest Stable Version Latest Unstable Version Monthly Downloads Total Downloads License

ImageResize for Laravel

A simple, yet efficient solution for image resizing and caching with Laravel. Based on my previous imageresize package, now renamed to nickdekruijk/imageresize-legacy.

Installation

To install the package use

composer require nickdekruijk/imageresize

Configuration

After installing for the first time publish the config file with

php artisan vendor:publish --tag=config --provider="NickDeKruijk\ImageResize\ServiceProvider"

A default config file called imageresize.php will be available in your Laravel /config folder. See this file for more details.

How does it work

Let's assume you have an image in /public/media/images/test.jpg and a template called thumbnail. And have set the imageresize.route config to media/resized.

Referring to http://domain.com/media/resized/thumbnail/images/test.jpg will trigger the imageresize route in laravel since the file doesn't exist. Imageresize then creates the resized image and saves it as /public/media/resized/thumbnail/images/test.jpg.

So the next time you refer to http://domain.com/media/resized/thumbnail/images/test.jpg the file does exist and the image is served without triggering any php/laravel code for optimal performance.

Drawbacks

There is however one disadvantage: if the original image is edited or removed the resized file will still remain the same since referring to it doesn't trigger the imageresize package. You will have to manually delete it or use the php artisan imageresize:delete command to delete all resized images from the media/resized folder.