Skip to content

imsus/laravel-imgproxy

Repository files navigation

Laravel integration for ImgProxy

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

This package provides a Laravel integration for ImgProxy, allowing you to easily generate and manipulate image URLs. It supports insecure, signed, and encrypted URL generation, and includes a helper function for quick usage.

Installation

You can install the package via composer:

composer require imsus/laravel-imgproxy

You can publish the config file with:

php artisan vendor:publish --tag="laravel-imgproxy-config"

This is the contents of the published config file:

return [
    'endpoint' => env('IMGPROXY_ENDPOINT', 'http://localhost:8080'),
    'key' => env('IMGPROXY_KEY'),
    'salt' => env('IMGPROXY_SALT'),
];

Configuration

You can configure the package by updating the values in your .env file:

IMGPROXY_ENDPOINT=http://localhost:8080
IMGPROXY_KEY=your_key_here
IMGPROXY_SALT=your_salt_here

Note

The key' and salt` are required only if you want to generate signed URLs. If you don't want to generate signed URLs, you can leave them empty.

Caution

The key and salt should be in hex-encoded format.

Usage

URL Generation

use Imsus\ImgProxy\Facades\ImgProxy;

// Generate URL using Facade
$url = ImgProxy::url('https://placehold.co/600x400/jpeg')
    ->setWidth(300)
    ->setHeight(200)
    ->build();

// Generate URL using helper function
$url = imgproxy('https://placehold.co/600x400/jpeg')
    ->setWidth(300)
    ->setHeight(200)
    ->build();

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

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

About

Laravel integration for ImgProxy

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages