Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Elfinder Laravel Package

components/elfinder

A Laravel component for integrating elFinder, the open-source file manager. Add file browsing, uploads, folder management, and editor support to your app with configurable roots, connectors, and Blade-friendly rendering, simplifying elFinder setup in Laravel views.

View on GitHub
Deep Wiki
Context7

components/elfinder provides a Laravel-friendly integration for the elFinder file manager, making it easy to browse, upload, edit, and manage files through a familiar web interface. It connects elFinder’s frontend to Laravel’s backend with configurable routes and storage settings.

  • Seamless Laravel integration for elFinder
  • Browse, upload, rename, and delete files
  • Configurable connector routes and roots
  • Works with local and Laravel filesystem disks
  • Supports common editor/file-picker workflows
Frequently asked questions about Elfinder
How do I install components/elfinder in a Laravel app?
Install it with composer require components/elfinder. Laravel auto-discovery registers the service provider, then you publish the config and front-end assets with artisan vendor:publish. Register a route group for the connector and point one root at a path such as storage/app/public. A working proof of concept is typically a one to three day task in a compatible app.
Which Laravel and PHP versions does components/elfinder support?
The last release was July 2020, which places the tested matrix around PHP 7.x, Laravel 6 or 7, and Flysystem 1.x. Laravel 9, 10 and 11 use Flysystem 3, Symfony 6 and PHP 8.1+, where compatibility is unverified and likely to require a fork or patch. Run a timeboxed compatibility spike as a gate before committing.
Is components/elfinder compatible with Laravel 10 or Laravel 11?
There is no official support for Laravel 10 or 11 because the package has had no releases since 2020. Flysystem 1 assumptions inside the wrapper can silently break root resolution rather than fail loudly during an upgrade. Budget a fork-and-modernize step that ports the adapter layer to Flysystem 3 and adds smoke tests around root resolution and upload policy.
How do I configure elFinder roots and the upload path in Laravel?
Publish the package config and define the roots array, pointing a local root at your intended storage path, for example storage/app/public. Each root maps through the wrapper to a Flysystem 1 adapter, so the path you choose determines what the connector can browse and write. Restrict every root to intended paths and remove unused adapters from the published config.
How do I secure the elFinder connector endpoint in Laravel?
Never expose the connector unauthenticated. Wrap its route in auth middleware plus a Gate or Policy that authorizes root access per user or tenant. Harden the published config with upload allow and deny lists, size caps, disabled archive creation if unused, and debug output turned off. Also prevent PHP execution in web-reachable upload directories and defend against path traversal and symlink escapes.
Can I use elFinder with S3, SFTP, or multiple roots?
elFinder itself supports multiple volumes, but the wrapper's Flysystem 1 adapter layer is the constraint. A single local root is the well-trodden path, while S3, SFTP, or per-tenant storage routing needs custom adapter work and extra testing. For multi-tenant SaaS with per-request storage routing, expect to build a significant amount around the package.
Is components/elfinder still maintained?
No releases have shipped since July 2020, roughly four years of inactivity. Upstream elFinder is still maintained, but those fixes do not flow through this wrapper automatically. Wrapper-level bugs and Laravel compatibility fixes become your responsibility, so decide early who owns the connector code.
How do I publish elFinder config and front-end assets?
After composer require, run artisan vendor:publish for the package's config and asset tags. Then set roots, toolbar options, upload URL, CSRF header and locale in the published config. The elFinder client is jQuery-era JavaScript with its own i18n and theming, so expect dedicated styling work to fit a modern design system.
Is elFinder safe for untrusted users or multi-tenant apps?
A file manager is a high-value target. Relevant threats include path traversal, symlink escapes, upload MIME and extension bypass, SVG or HTML upload XSS, archive extraction abuse, and PHP execution in web-reachable upload directories. elFinder has had CVEs historically and this wrapper's defaults need deliberate hardening. The package fits trusted admins best; untrusted end users or per-tenant isolation materially change the threat model and require extra work.
How do I test components/elfinder before a production rollout?
Run a compatibility spike on your target Laravel and PHP version that proves connector boot, one local root, upload, rename, download and delete. If it fails, fork into an internal namespace or VCS repository, port the Flysystem adapter to v3, pin the fork, and add smoke tests around root resolution and upload policy. Instrument the connector endpoint with logging and timing metrics before rollout. If the requirement is only upload, browse and thumbnails, a lighter custom Flysystem upload flow may beat a two-pane file manager.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource