Как мы загружаем файл в цифровые океанические пространства, используя PHP Codeigniter?

Мне нужно загрузить файл на сервер цифровых океанских пространств, используя проект PHP codeigniter. Если у кого есть рабочий образец, пожалуйста, поделитесь.

3 ответа

Насколько я знаю, DigitalOcean Spaces предоставляет облачное хранилище для статического контента для ваших сайтов, а также предоставляет услугу CDN. Я знаю, что вы можете использовать их API для манипулирования корзинами, может быть, у них тоже есть API для загрузки файлов. Простой Googling получил мне эту ссылку https://www.digitalocean.com/docs/spaces/resources/ Вы можете использовать php cURL для загрузки файлов, используя их API.

Не используйте spaceAPI, он неполный.

Используйте SDK AWS

      use Aws\S3\S3Client;

        $this->client  = new S3Client([
                'version' => 'latest',
                'region'  => 'region',
                'endpoint' => 'https://region.digitaloceanspaces.com',
                'credentials' => [
                        'key'    => $mod->key,
                        'secret' => $mod->secret,
                 ]
       ])

Регион там, где ваше пространство. Для DO это, по-видимому, не имеет значения или увеличивает скорость в любом случае. Затем вы можете загрузить файл напрямую с помощью

      $result = $this->client->putObject(array(
    'Bucket'     => $bucket,
    'Key'        => 'data_from_file.txt',
    'SourceFile' => $pathToFile,
    'Metadata'   => array(
        'Foo' => 'abc',
        'Baz' => '123'
    )
));

Вы можете использовать SPACES-API из github

composer require sociallydev/spaces-api:dev-master

Подключить

//Either:
require_once("spaces.php");
//OR COMPOSER:
require_once("vendor/autoload.php"); //Install first by executing: composer require SociallyDev/Spaces-API in your project's directory.

$key = "EXAMPLE_KEY";
$secret = "EXAMPLE_SECRET";

$space_name = "my-space";
$region = "nyc3";

$space = new SpacesConnect($key, $secret, $space_name, $region);

Загрузка

$path_to_file = "image.png";

$space->UploadFile($path_to_file, "public", "save_as.png");

Для получения дополнительной информации используйте эту ссылку

Другие вопросы по тегам