mwebdev/backblaze-b2

The Laravel Backblaze B2 Storage Service Provider give provision for for laravel storage to use blackblaze as their storage system.

v1.5 2022-05-25 08:39 UTC

This package is auto-updated.

Last update: 2025-05-25 17:53:05 UTC


README

backblaze-b2 is the SDK for working with Backblaze's B2 storage service.

Install Via Composer

$ composer require mwebdev/backblaze-b2

Usage use BackblazeB2\Client; use BackblazeB2\Bucket;

$options = ['auth_timeout_seconds' => seconds];

$client = new Client('accountId', 'applicationKey', $options); $options is optional. If omitted, the default timeout is 12 hours. The timeout allows for a long lived Client object so that the authorization token does not expire.

ApplicationKey is not supported yet, please use MasterKey only Returns a bucket details $bucket = $client->createBucket([ 'BucketName' => 'my-special-bucket', 'BucketType' => Bucket::TYPE_PRIVATE // or TYPE_PUBLIC ]); Change the bucket Type $updatedBucket = $client->updateBucket([ 'BucketId' => $bucket->getId(), 'BucketType' => Bucket::TYPE_PUBLIC ]); List all buckets $buckets = $client->listBuckets(); Delete a bucket $client->deleteBucket([ 'BucketId' => 'YOUR_BUCKET_ID' ]); File Upload $file = $client->upload([ 'BucketName' => 'my-special-bucket', 'FileName' => 'path/to/upload/to', 'Body' => 'I am the file content'

// The file content can also be provided via a resource.
// 'Body' => fopen('/path/to/input', 'r')

]); File Download $fileContent = $client->download([ 'FileId' => $file->getId()

// Can also identify the file via bucket and path:
// 'BucketName' => 'my-special-bucket',
// 'FileName' => 'path/to/file'

// Can also save directly to a location on disk. This will cause download() to not return file content.
// 'SaveAs' => '/path/to/save/location'

]); File Copy $copyOfFile = $client->copy([ 'BucketName' => $bucketName, 'FileName' => $path, 'SaveAs' => $newPath,

// Can also supply BucketId instead of BucketName
// Optional are DestinationBucketName or DestinationBucketId

]); File Delete $fileDelete = $client->deleteFile([ 'FileId' => $file->getId()

// Can also identify the file via bucket and path:
// 'BucketName' => 'my-special-bucket',
// 'FileName' => 'path/to/file'

]); List all files $fileList = $client->listFiles([ 'BucketId' => 'YOUR_BUCKET_ID' ]); Change log Please see CHANGELOG for more information what has changed recently.

Testing $ vendor/bin/phpunit Contributing Please see CONTRIBUTING and CONDUCT for details.

Security If you discover any security related issues, please email atonujekemena@gmail.com instead of using the issue tracker.

Credits All Contributors License The MIT License (MIT). Please see License File for more information.

Laravel usage

Install

Via Composer

composer require mwebdev/backblaze-b2

In your app.php config file add to the list of service providers:

\Gliterd\BackblazeB2\BackblazeB2ServiceProvider::class,

Add the following to your filesystems.php config file in the disks section:

'b2' => [
    'driver'         => 'b2',
    'accountId'      => '',
    'applicationKey' => '',
    'bucketName'     => '',
],

Usage

Just use it as you normally would use the Storage facade.

\Storage::disk('b2')->put('filename.txt', 'My important content');

and

\Storage::disk('b2')->get('filename.txt')