miguelangelmp10/multistorage

用于处理多个存储后端的应用包

dev-main 2024-08-01 16:08 UTC

This package is auto-updated.

Last update: 2024-10-01 16:33:36 UTC


README

Multistorage 是一个 PHP 库,允许管理多个文件存储系统。支持本地存储、SFTP、Amazon S3、Google Cloud Storage、Azure Blob Storage 和 DigitalOcean Spaces。

特性

  • 支持多个后端存储。
  • 统一接口访问不同存储系统。
  • 易于扩展,添加新的存储后端。

要求

  • PHP >= 8.2
  • Composer
  • 每种存储类型所需的 PHP 扩展(例如,ext-curl 用于 AWS S3)。

安装

您可以使用 Composer 安装此库。在终端中执行以下命令:

composer require miguelangelmp10/multistorage

配置

要配置和使用 Multistorage 库,首先需要创建一个您想要使用的存储实例,然后调用相应的方法。

使用示例

<?php

require 'vendor/autoload.php';

use MiguelAngelMP10\Multistorage\Storages\LocalStorage;
use MiguelAngelMP10\Multistorage\Storages\SftpStorage;
use MiguelAngelMP10\Multistorage\Storages\S3Storage;
use MiguelAngelMP10\Multistorage\Storages\GcpStorage;
use MiguelAngelMP10\Multistorage\Storages\AzureStorage;
use MiguelAngelMP10\Multistorage\Storages\IbmCloudStorage;
use MiguelAngelMP10\Multistorage\Storages\DigitalOceanSpacesStorage;

// Uso de almacenamiento local
$local = new LocalStorage('/path/to/local/storage');
$local->writeFile('test.txt', 'Hello, Local!');

// Uso de almacenamiento SFTP
$sftp = new SftpStorage('sftp.example.com', 'username', 'password', '/path/to/sftp/storage');
$sftp->writeFile('test.txt', 'Hello, SFTP!');

// Uso de almacenamiento S3
$s3 = new S3Storage('bucket-name', 'region', 'access-key', 'secret-key');
$s3->writeFile('test.txt', 'Hello, S3!');

// Uso de almacenamiento GCP
$gcp = new GcpStorage('bucket-name', 'path/to/credentials.json');
$gcp->writeFile('test.txt', 'Hello, GCP!');

// Uso de almacenamiento Azure
$azure = new AzureStorage('account-name', 'account-key', 'container-name');
$azure->writeFile('test.txt', 'Hello, Azure!');

// Uso de almacenamiento DigitalOcean Spaces
$doSpaces = new DigitalOceanSpacesStorage('space-name', 'region', 'access-key', 'secret-key');
$doSpaces->writeFile('test.txt', 'Hello, DigitalOcean Spaces!');