marchiorineto / cloudflare-images-laravel
Provides access to the Cloudflare Images service for Laravel.
1.0.0
2024-03-06 12:11 UTC
Requires
- php: ^8.2
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.3
This package is not auto-updated.
Last update: 2025-04-17 15:39:15 UTC
README
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