barryvdh/elfinder-flysystem-driver

An elFinder volume driver backed by League Flysystem for any storage backend

Library
Composer
vv0.6.0
187stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
44/100Fair
Development Activity8
Maintenance20
Community68
Maturity60
Momentum20

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
75/100Good
Architecture76
Code Quality74
Innovation66
Learning Curve82

barryvdh/elfinder-flysystem-driver is a PHP library that adds a Flysystem-backed volume driver to the elFinder web file manager. Instead of pointing elFinder at a local directory, it lets you serve any Flysystem filesystem — local disk, FTP, S3, or other cloud adapters — as an elFinder root.

The driver extends elFinder’s volume driver and delegates all file operations to a Flysystem FilesystemOperator, adding image thumbnailing via Intervention Image and optional Glide URL generation, so a single elFinder installation can browse and manage files across many storage backends through one consistent abstraction.

What You Get

  • A Flysystem-backed volume driver for elFinder 2.1+
  • Support for any Flysystem adapter as an elFinder root
  • Image thumbnail generation via Intervention Image
  • Optional Glide-based image URL generation
  • Configurable caching (session, memory, or off) per root

Common Use Cases

  • Serving S3 or other cloud storage through the elFinder file manager
  • Managing files across multiple storage backends from one UI
  • Adding remote FTP or local disk roots to an elFinder installation
  • Backing a Laravel elFinder integration with Flysystem storage

Under The Hood

Architecture — The package centers on a single Driver class (src/Driver.php) in the Barryvdh\elFinderFlysystemDriver namespace that extends elFinderVolumeDriver, elFinder’s base volume abstraction. It overrides the low-level filesystem hooks (read, write, copy, move, delete, directory listing, attributes) to delegate to a League Flysystem FilesystemOperator supplied via the filesystem option, translating Flysystem’s FileAttributes/StorageAttributes and exceptions into elFinder’s expected behavior. Thumbnails are produced through Intervention Image’s ImageManager, and public URLs can be generated through League Glide’s UrlBuilder. Tech Stack — PHP 8.1+, depending on league/flysystem ^3, studio-42/elfinder ^2.1, and intervention/image ^3|^4, with optional league/glide for image URLs. Code Quality — The library is small and focused (a single driver class) with a tests/ suite (DriverTest.php, TestDriver.php); it is mature and stable but has low recent development activity, reflecting a settled integration rather than an abandoned one. API Design — Usage is entirely declarative: you register a root with ‘driver’ => ‘Flysystem’ and pass a constructed Flysystem Filesystem instance plus URL and cache options, which fits naturally into elFinder’s existing roots configuration and requires no custom code, making it very easy to adopt for anyone already using elFinder.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search