The official PHP library used for interacting with the BunnyCDN Storage API.
composer require bunnycdn/storage
Create an instance of the \Bunny\Storage\Client with the authentication details
$client = new \Bunny\Storage\Client('access-key', 'storage-zone', \Bunny\Storage\Region::SINGAPORE);The BunnyCDNStorage constructor takes the following parameters:
- apiAccessKey - The API access key (password)
- storageZoneName - The name of your storage zone
- storageZoneRegion - The storage zone region code (de, ny, or sg)
$client->upload('/path/to/local/file.txt', 'remote/path/hello-world.txt');The checksum can be disabled using the $withChecksum parameter:
$client->upload('/path/to/local/file.txt', 'remote/path/hello-world.txt', false);Note
Async uploads are supported with $client->uploadAsync(). It will return a GuzzleHttp\Promise\PromiseInterface.
$client->download('remote/path/hello-world.txt', '/path/to/local/file.txt');$items = $client->listFiles('remote/path/');Returns an array of FileInfo objects.
$item = $client->info('remote/path/hello-world.txt');Returns an instance of FileInfo.
$client->delete('remote/path/hello-world.txt');$errors = $client->deleteMultiple(['file1.txt', 'file2.txt', 'non-existing.txt']);
var_dump($errors);
/*
array(1) {
'non-existing.txt' =>
string(16) "Object not found"
}
*/$content = 'Hello, world!';
$client->putContents('hello-world.txt', $content);The checksum can be disabled using the $withChecksum parameter:
$content = 'Hello, world!';
$client->putContents('hello-world.txt', $content, false);$content = $client->getContents('hello-world.txt');
echo $content; // Hello, world!