thuraaung2493 / space-file-storage
A package that wraps the Laravel file storage API for DigitalOcean's space storage.
dev-main
2023-06-18 14:50 UTC
Requires
- php: ^8.2
- league/flysystem-aws-s3-v3: ^3.15
- nunomaduro/mock-final-classes: ^1.2
- thuraaung2493/laravel-api-helpers: dev-main
Requires (Dev)
- laravel/pint: ^1.10
- nunomaduro/larastan: ^2.0
- orchestra/testbench: ^8.5
- pestphp/pest: ^2.6
This package is auto-updated.
Last update: 2024-12-18 18:06:10 UTC
README
It supports Laravel 9+ and PHP 8.2+
Installation
composer require thuraaung2493/space-file-storage@dev
Configuration
Copy the following config to config/filesystems.php
file and
'space' => [ 'driver' => 's3', 'key' => env('SPACE_ACCESS_KEY_ID'), 'secret' => env('SPACE_SECRET_ACCESS_KEY'), 'region' => env('SPACE_DEFAULT_REGION'), 'bucket' => env('SPACE_BUCKET'), 'cdn_endpoint' => env('SPACE_CDN_ENDPOINT'), 'folder' => env('SPACE_FOLDER'), 'url' => env('SPACE_URL'), 'endpoint' => env('SPACE_ENDPOINT'), 'use_path_style_endpoint' => env('SPACE_USE_PATH_STYLE_ENDPOINT', false), 'throw' => true, ],
add these env variables to .env
file.
SPACE_ACCESS_KEY_ID= SPACE_SECRET_ACCESS_KEY= SPACE_DEFAULT_REGION= SPACE_BUCKET= SPACE_CDN_ENDPOINT= SPACE_ENDPOINT= SPACE_USE_PATH_STYLE_ENDPOINT=
Usage
// Facades use Thuraaung\SpaceStorage\Facades\SpaceStorage SpaceStorage::clearCache($folder, $fileName); SpaceStorage::display($path); SpaceStorage::upload($folder, $file); SpaceStorage::put($folder, $link); SpaceStorage::update($oldPath, $file); SpaceStorage::exists($path); SpaceStorage::delete($path); // Or use Thuraaung\SpaceStorage\SpaceStorage; $storage = new SpaceStorage(); $storage->clearCache($folder, $fileName); $storage->display($path); $storage->put($folder, $link); $storage->upload($folder, $file); $storage->update($oldPath, $file); $storage->exists($path); $storage->delete($path);
Test
composer test
License
This package is open-sourced software licensed under the MIT license