alcodo/powerimage

This package is abandoned and no longer maintained. No replacement package was suggested.

Laravel Package to create a dynamic image handler

Maintainers

👁 approached

Package info

github.com/alcodo/powerimage

pkg:composer/alcodo/powerimage

Statistics

Installs: 18 299

Dependents: 1

Suggesters: 0

Stars: 22

dev-master 2021-03-29 10:53 UTC

Requires

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 89facf67f1a0295dd4669b34898a13c5adea1dc7

imagehttpdynamiclaravelglide

This package is auto-updated.

Last update: 2026-03-01 00:21:46 UTC


README

👁 Build Status
👁 Total Downloads
👁 Latest Stable Version
👁 License

Powerimage is a dynamic image handler for laravel. It uses the package thephpleague/glide for convert and spatie/image-optimizer for optimize the image.

After the installation you can request any image that you have uploaded in laravel. Example:
example.com/images/cat.jpg (Original)
example.com/images/cat_w=200&h=200.jpg (Convert)

The workflow is very simple. If image isn't found, laravel throw a exception. This package creates only one time this image. And on the next request the image will return form your webserver like nginx (fast response).

Structure:

{domain}/{path}/{fileimage name}_{resize parameter}.{extension}

Delimiter: _

Installation

Add packages:

 composer require alcodo/powerimage:dev-master

Add powerimage handler in app/Exceptions/Handler.php:

 public function render($request, Exception $exception)
 {
 PowerImage::check($request, $exception);

 return parent::render($request, $exception);
 }

And by the way you can inlcude or exclude paths that you want use powerimage example:

 public function render($request, Exception $exception)
 {
 if (PowerImage::include ($request, ['/images/*', '/gallery/*'])) {
 PowerImage::check($request, $exception);
 }

 // or

 if (PowerImage::exclude($request, ['/user/*'])) {
 PowerImage::check($request, $exception);
 }

 return parent::render($request, $exception);
 }

Helper

Create powerimage path helper:

 powerimage('images/video.png', ['w' => 200, 'h' => 350]);
 
 // outut
 'images/video_w=200&h=350.png'
 
 // or direct in blade template
 <img class="img-fluid" src="{{ powerimage(Storage::url($image->filepath), ['w'=> 260, 'h' => 260]) }}" alt=""/>

License

The MIT License (MIT). Please see LICENSE for more information.