cloudflare-images-laravel maintained by marchiorineto
Description
Provides access to the Cloudflare Images service for Laravel.
Author
Last update
2024/03/06 13:11
(dev-main)
License
Downloads
4
Tags
CloudflareImagesLaravel
Provides access to Cloudflare Images service for Laravel.
Table of contents
Installation
To get the latest version of CloudflareImagesLaravel, simply require the project using Composer:
composer require marchiorineto/cloudflare-images-laravel
Or manually update the require block of composer.json and run composer update.
{
"require": {
"marchiorineto/cloudflare-images-laravel": "^1.0.0"
}
}
Configuration
Set environment variables:
CLOUDFLARE_IMAGES_ACCOUNT- Cloudflare account IDCLOUDFLARE_API_TOKEN- Cloudflare API tokenCLOUDFLARE_IMAGES_KEY- Create a CF images key under the Images section of your Cloudflare accountCLOUDFLARE_IMAGES_DELIVERY_URL- Copy the images delivery base url from the Cloudflare images dashboard
Usage
Create a variant
use MarchioriNeto\CloudflareImagesLaravel\CloudflareImages;
use MarchioriNeto\CloudflareImagesLaravel\ImageVariant;
$variant = new ImageVariant('tiny');
$variant->fit('contain')
->width(50)
->height(50)
->metaData('keep');
$cfImages = new CloudflareImages();
$cfImages->createVariant($variant);
Upload an image
use MarchioriNeto\CloudflareImagesLaravel\CloudflareImages;
$cfImages = new CloudflareImages();
// Pass either a file path or a file resource as the first parameter.
// If you want the image to be private (always require signed urls), pass true as the second parameter.
$cfImages->upload('/path/to/image.jpg', true);
Generate a signed URL
use MarchioriNeto\CloudflareImagesLaravel\CloudflareImages;
$cfImages = new CloudflareImages();
$cfImages->getSignedUrl('image-uuid', new DateTime('+1 day'));
Overriding configuration
You can override the environment variables by passing new properties to the CloudflareImages constructor.
use MarchioriNeto\CloudflareImagesLaravel\CloudflareImages;
$cfImages = new CloudflareImages('CLOUDFLARE_IMAGES_ACCOUNT', 'CLOUDFLARE_API_TOKEN', 'CLOUDFLARE_IMAGES_KEY', 'CLOUDFLARE_IMAGES_DELIVERY_URL');
Based on
work from https://github.com/alexbuckham/CloudflareImagesLaravel