Skip to content

ghostcompiler/laravel-upload

Repository files navigation

Laravel Uploads Logo

Laravel PHP Laravel Storage

Laravel Uploads manages local/cloud file storage, tracks upload metadata, generates secure tokenized preview URLs, integrates with Eloquent models, and supports real-time image optimization. It also features on-demand proxy streaming for remote URLs with zero local disk footprint.


Installation

Install the package via Composer:

composer require ghostcompiler/laravel-uploads
php artisan install:laravel-uploads
php artisan migrate

Use --force to overwrite any existing assets:

php artisan install:laravel-uploads --force

Basic Usage

Uploading a File

use GhostCompiler\LaravelUploads\Facades\Uploads;

// Store a file under configured defaults
$upload = Uploads::upload($request->file('avatar'));

// Store to a specific directory inside the storage path
$upload = Uploads::upload('avatars', $request->file('avatar'));

Uploading from a URL (Dynamic Proxy Streaming)

You can pass a remote URL string directly. The package will register the reference in the database, proxying it on-demand to hide the source URL and bypass local disk storage:

$upload = Uploads::upload('https://avatar.example.com/user123.jpg');

Resolving Secure URLs

Retrieve secure tokenized URLs to stream or preview private files:

// Generates a secure routing URL expiring in 15 minutes
$url = Uploads::url($upload, 15);

Full Documentation

For detailed guides on configuration settings, Eloquent trait integrations, custom URL resolvers, image optimization pipelines, and Artisan commands, see the:

👉 Laravel Uploads Documentation

Development And Build Environment

This package was developed using ServBay as the local development environment.

Development Tool Used

ServBay your development friend

ServBay Icon

Testing And Build Machine

  • Tested on: Mac M4
  • Built on: Mac M4