lombokclarion/storage

File storage behind relative, traversal-validated paths. Local filesystem only — cloud drivers are separate packages depending on the Storage interface, never core dependencies.

Maintainers

Package info

github.com/codinglombok/storage

pkg:composer/lombokclarion/storage

Transparency log

Statistics

Installs: 0

Dependents: 2

Suggesters: 0

Stars: 0

Open Issues: 0

v2.1.0 2026-08-08 17:25 UTC

This package is auto-updated.

Last update: 2026-08-09 13:12:33 UTC


README

Local filesystem storage with path-traversal blocking and secure file uploads.

[READ-ONLY] This is a subtree split of the LombokClarion monorepo.
Do not send pull requests here — contribute to the main repository instead.

Install

composer require lombokclarion/storage

Namespace

LombokClarion\Storage

What's Inside

Class Role
Storage Interface: put(), get(), exists(), delete(), store()
LocalStorage Filesystem implementation rooted at one directory

Usage

use LombokClarion\Storage\LocalStorage;

$storage = new LocalStorage('/app/storage/app');

$storage->put('reports/q3.txt', $content);
$content = $storage->get('reports/q3.txt');
$storage->exists('reports/q3.txt'); // true
$storage->delete('reports/q3.txt');

// Uploaded file (random name, validated extension)
$path = $storage->store($uploadedFile, 'avatars', 'jpg');
// → "avatars/a1b2c3d4e5f6.jpg"

Security

All paths are validated against directory traversal — ../, absolute paths, and null bytes are rejected. File names are generated randomly (16 bytes hex), never derived from client filenames.

License

Apache-2.0 — see LICENSE in the main repository.