PHPackages                             baywa-re-lusy/file-storage - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. baywa-re-lusy/file-storage

ActiveLibrary[File &amp; Storage](/categories/file-storage)

baywa-re-lusy/file-storage
==========================

BayWa r.e. LUSY File Storage Tools

6.0.1(3y ago)0294proprietaryPHPPHP &gt;= 8.1

Since May 18Pushed 1y ago1 watchersCompare

[ Source](https://github.com/baywa-re-lusy/file-storage)[ Packagist](https://packagist.org/packages/baywa-re-lusy/file-storage)[ Docs](https://github.com/baywa-re-lusy/file-storage)[ RSS](/packages/baywa-re-lusy-file-storage/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (8)Dependencies (5)Versions (12)Used By (0)

BayWa r.e. File Storage Tools
=============================

[](#baywa-re-file-storage-tools)

[![CircleCI](https://camo.githubusercontent.com/577d5404724da9a08b444b75c28fa5717793c1ea4934dcdfc68472eb0b1c45da/68747470733a2f2f636972636c6563692e636f6d2f67682f62617977612d72652d6c7573792f66696c652d73746f726167652f747265652f6d61696e2e7376673f7374796c653d737667)](https://circleci.com/gh/baywa-re-lusy/file-storage/tree/main)

Installation
------------

[](#installation)

To install the File Storage tools, you will need [Composer](http://getcomposer.org/) in your project:

```
composer require baywa-re-lusy/file-storage
```

Azure Blob Storage
------------------

[](#azure-blob-storage)

A configured Azure Blob Storage is needed to use the `AzureBlobAdapter`. It can be created using `terraform`:

```
# Create the Storage Account
resource "azurerm_storage_account" "blob_storage" {
  name                     = "storage-name"
  resource_group_name      = "resourge-group-name"
  location                 = "location"
  account_tier             = "Standard"
  account_replication_type = "GRS"
}

# Create a Blob Share inside the Storage Account
resource "azurerm_storage_container" "container" {
  name                  = "content"
  storage_account_name  = azurerm_storage_account.blob_storage.name
  container_access_type = "private"
}

# Generate Shared Access Signature
# the property "signed_version" can't be set (or must be an old one) and "tag" and "filter" must be set to false
# see https://github.com/hashicorp/terraform-provider-azurerm/issues/17558
data "azurerm_storage_account_sas" "sas" {
  connection_string = azurerm_storage_account.file_storage.primary_connection_string
  https_only        = true

  resource_types {
    service   = true
    container = true
    object    = true
  }

  services {
    blob  = true
    queue = false
    table = false
    file  = false
  }

  start  = "2022-05-17T00:00:00Z"
  expiry = "2024-05-17T00:00:00Z"

  permissions {
    read    = true
    write   = true
    delete  = true
    list    = true
    add     = false
    create  = true
    update  = false
    process = false
    tag     = false
    filter  = false
  }
}

output "azure_shared_access_signature" {
  value = data.azurerm_storage_account_sas.sas.sas
  sensitive = true
}
```

Once the infrastructure is updated, retrieve the SAS Connection string with:

```
terraform output azure_shared_access_signature
```

Usage
-----

[](#usage)

Currently, this library supports Azure Blob Storage. However, it uses an Adapter pattern to allow adding other vendors easily.

### Azure Blob

[](#azure-blob)

```
use BayWaReLusy\FileStorage\FileStorageService;
use BayWaReLusy\FileStorage\Adapter\AzureBlobAdapter;

$adapter            = new AzureBlobAdapter('', '', '');
$fileStorageService = new FileStorageService($adapter);
```

### Local Storage

[](#local-storage)

This library also includes a Local adapter for testing purposes.

You have to supply the adapter with the path to the remote directory (it has to contain the 'public' folder) created beforehand and given the appropriate rights for writing as well as the API's URL.

```
use BayWaReLusy\FileStorage\FileStorageService;
use BayWaReLusy\FileStorage\Adapter\LocalAdapter;

$adapter            = new LocalAdapter('/var/www/html/public/remote', 'https://my-api.api-url.com');
$fileStorageService = new FileStorageService($adapter);
```

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance33

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 51.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~28 days

Recently: every ~22 days

Total

8

Last Release

1255d ago

Major Versions

1.0.0 → 2.0.02022-05-25

2.1.0 → 3.0.02022-09-05

3.0.0 → 4.0.02022-09-08

4.0.0 → 5.0.02022-11-25

5.0.0 → 6.0.02022-12-04

PHP version history (2 changes)1.0.0PHP &gt;= 8.0

5.0.0PHP &gt;= 8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/7d6584819dabfe835a6caa1826bf2716dee040714e2a769365afa84d68b144b9?d=identicon)[ppaulis](/maintainers/ppaulis)

---

Top Contributors

[![ppaulis](https://avatars.githubusercontent.com/u/1609503?v=4)](https://github.com/ppaulis "ppaulis (54 commits)")[![MaximJam](https://avatars.githubusercontent.com/u/100141314?v=4)](https://github.com/MaximJam "MaximJam (50 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/baywa-re-lusy-file-storage/health.svg)

```
[![Health](https://phpackages.com/badges/baywa-re-lusy-file-storage/health.svg)](https://phpackages.com/packages/baywa-re-lusy-file-storage)
```

###  Alternatives

[knplabs/gaufrette

PHP library that provides a filesystem abstraction layer

2.5k39.8M123](/packages/knplabs-gaufrette)[google/cloud-storage

Cloud Storage Client for PHP

34390.8M125](/packages/google-cloud-storage)[illuminate/filesystem

The Illuminate Filesystem package.

15261.6M2.6k](/packages/illuminate-filesystem)[superbalist/flysystem-google-storage

Flysystem adapter for Google Cloud Storage

26320.6M30](/packages/superbalist-flysystem-google-storage)[creocoder/yii2-flysystem

The flysystem extension for the Yii framework

2931.7M62](/packages/creocoder-yii2-flysystem)[flowjs/flow-php-server

PHP library for handling chunk uploads. Works with flow.js html5 file uploads.

2451.6M15](/packages/flowjs-flow-php-server)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
