Skip to content

An API wrapper for DigitalOcean's Spaces object storage designed for easy use.

License

Notifications You must be signed in to change notification settings

SociallyDev/Spaces-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
David Wakelin
Dec 15, 2023
6b0f8f5 · Dec 15, 2023
Mar 30, 2022
Dec 15, 2023
Nov 11, 2022
Mar 30, 2022
Aug 9, 2021
Aug 9, 2021
Aug 9, 2021
Aug 9, 2021
Sep 28, 2020
Dec 15, 2023
Dec 15, 2023
Nov 11, 2022

Repository files navigation

This library is deprecated

We recommend using the official SDK or the Laravel package

All issues will be closed and new PRs will not be accepted

Installation

Install via composer

composer require sociallydev/spaces-api

Quick start

Obtain API keys from the Digital Ocean Applications & API dashboard

use SpacesAPI\Spaces;

// Connect to a space
$spaces = new Spaces('api-key', 'api-secret');
$space = $spaces->space('space-name');

// Download a file
$file = $space->file('remote-file-1.txt');
$file->download('local/file/path/file.txt');

// Upload text to a file
$file2 = $space->uploadText("Lorem ipsum","remote-file-2.txt");

// Get a signed public link, valid for 2 hours
$file2url = $file2->getSignedURL("2 hours");

// Make a copy
$file3 = $file2->copy('remote-file-3.txt');

// Move or rename a file
$file2->move('new-filename.txt')

// Make a file public and get the URL
$file3->makePublic();
$file3url = $file3->getURL();

See more examples in docs/Examples.md

Upgrading?

Version 3 has many changes over version 2, so we have written a migration guide

API reference