Looking to hire Laravel developers? Try LaraJobs

cloudflare-images-laravel maintained by marchiorineto

Description
Provides access to the Cloudflare Images service for Laravel.
Last update
2024/03/06 13:11 (dev-main)
License
Links
Downloads
4

Comments
comments powered by Disqus

CloudflareImagesLaravel

Provides access to Cloudflare Images service for Laravel.

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

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 ID
  • CLOUDFLARE_API_TOKEN - Cloudflare API token
  • CLOUDFLARE_IMAGES_KEY - Create a CF images key under the Images section of your Cloudflare account
  • CLOUDFLARE_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