gmbf-package / cloudflare-image-upload
Provides an easy-to-use interface to upload, delete, and fetch images from Cloudflare Images API in Laravel projects.
Installs: 10
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 1
Open Issues: 0
pkg:composer/gmbf-package/cloudflare-image-upload
Requires
- php: ^7.0 || ^8.0
- guzzlehttp/guzzle: ^6.0 || ^7.0
- illuminate/support: ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0
README
This Laravel package provides a simple and reusable interface for uploading, retrieving, and deleting images on Cloudflare Images.
It is intended for use in Laravel applications to handle image storage through the Cloudflare Images API.
A reusable Laravel package to easily upload, retrieve, and delete images on Cloudflare Images.
Supports Laravel 5.x → 12.x and PHP 7.0 → 8.4. Works with both request files (UploadedFile) and storage file paths.
Features
- Upload images directly from request or local storage
- Get image details from Cloudflare
- Delete images from Cloudflare
- Ready-to-use Facade and ServiceProvider
- Configurable via
config/cloudflare-image.php - Laravel projects reuse-ready
- Clean, maintainable architecture
📦 Installation
- Require the package via Composer:
composer require gmbf-package/cloudflare-image-upload
- (Optional for Laravel <5.5) Add the service provider manually in
config/app.php:
'providers' => [ Gmbf\CloudflareImageUpload\CloudflareImageServiceProvider::class, ],
- Publish the config file:
php artisan vendor:publish --provider="Gmbf\CloudflareImageUpload\CloudflareImageServiceProvider" --tag="cloudflare-image-config"
⚙️ Configuration
Add the following to your .env file:
CLOUDFLARE_API_TOKEN=your_cloudflare_api_token CLOUDFLARE_ACCOUNT_ID=your_cloudflare_account_id CLOUDFLARE_IMAGES_KEY=your_optional_key CLOUDFLARE_IMAGES_DELIVERY_URL=https://your-delivery-url.com CLOUDFLARE_IMAGES_DEFAULT_VARIATION=your-variant-name
After publishing, you can customize the settings in config/cloudflare-image.php.
🚀 Usage
Upload an image to Cloudflare
use Gmbf\CloudflareImageUpload\Facades\CloudflareImage;
// From request
CloudflareImage::upload(request()->file('image'));
// From storage path
CloudflareImage::upload(storage_path('app/public/example.jpg'));
Get image details
CloudflareImage::get('image_id');
Delete an image from Cloudflare
CloudflareImage::delete('image_id');
🛠️ Folder Structure
gmbf-package/cloudflare-image-upload/
├── composer.json
├── config/
│ └── cloudflare-image.php
├── src/
│ ├── CloudflareImageServiceProvider.php
│ ├── CloudflareImageService.php
│ ├── Facades/
│ │ └── CloudflareImage.php
│ └── Exceptions/
│ └── CloudflareException.php
├── tests/
│ └── CloudflareImageTest.php
├── README.md
└── LICENSE
📄 License
This package is open-sourced software licensed under the MIT license.
🙌 Credits
Developed and maintained by GMBF Group.