Skip to content

gliterd/backblaze-b2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Backblaze B2 for PHP

Author Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

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

Install

Via Composer

$ composer require gliterd/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 mhetreramesh@gmail.com instead of using the issue tracker.

Credits

License

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