miguelangelmp10 / multistorage
A package to handle multiple storage backends
dev-main
2024-08-01 16:08 UTC
Requires
- php: >=8.2
- aws/aws-sdk-php: ^3.0
- google/cloud-storage: ^1.24
- microsoft/azure-storage-blob: ^1.5
- phpseclib/phpseclib: ^3.0
Requires (Dev)
- mockery/mockery: ^1.4
- phpstan/phpstan: ^1.11
- phpunit/phpunit: ^9.6
This package is auto-updated.
Last update: 2025-03-29 01:08:37 UTC
README
Multistorage es una biblioteca PHP que permite manejar múltiples sistemas de almacenamiento de archivos. Soporta almacenamiento local, SFTP, Amazon S3, Google Cloud Storage, Azure Blob Storage y DigitalOcean Spaces.
Características
- Almacenamiento en múltiples backend.
- Interfaz unificada para diferentes sistemas de almacenamiento.
- Fácil de extender y agregar nuevos backends de almacenamiento.
Requisitos
- PHP >= 8.2
- Composer
- Extensiones de PHP necesarias para cada tipo de almacenamiento (por ejemplo,
ext-curl
para AWS S3).
Instalación
Puedes instalar esta biblioteca usando Composer. Ejecuta el siguiente comando en tu terminal:
composer require miguelangelmp10/multistorage
Configuración
Para configurar y usar la biblioteca Multistorage, primero necesitas crear una instancia del almacenamiento que deseas usar y luego llamar a los métodos correspondientes.
Ejemplo de Uso
<?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!');