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 Bundle

Elfinder Bundle Laravel Package

barryvdh/elfinder-bundle

Laravel bundle that integrates the elFinder file manager into your application. Browse, upload, edit and manage files across local and remote filesystems via Flysystem, with thumbnail previews, archive support and easy CKEditor integration.

View on GitHub
Deep Wiki
Context7

A Laravel Package to integrate elFinder 2

Frequently asked questions about Elfinder Bundle
How do I install barryvdh/elfinder-bundle in a Laravel application?
Install it with Composer, then publish the package's config file and front-end assets using the artisan vendor:publish command. The service provider registers the connector route, so after defining at least one root in config/elfinder.php the browser is reachable at the configured URL. The whole setup is typically under a day for a Laravel-fluent developer because the package is a thin wrapper around elFinder 2.
Which Laravel and PHP versions does barryvdh/elfinder-bundle support?
The package is pre-1.0, and the v0.6.0 release refactored its Laravel-specific code without documenting the full change surface, so always read the composer.json require block instead of assuming compatibility. Check the minimum PHP and illuminate/support constraints against your locked versions before upgrading, because a minor bump is permitted to raise the floor. Run your test suite and a manual smoke test of the connector route after any version change.
How do I configure file roots and upload paths with elFinder in Laravel?
Everything substantive lives in the published config/elfinder.php array, where you define one or more roots, each with a path, a URL, and access settings. Roots are resolved through Laravel's filesystem abstraction via the elfinder-flysystem-driver, so local disks and Flysystem-backed disks are configured the same way. Keep upload and thumbnail paths inside the configured root, and re-check those values after every upgrade because path handling changes are security-relevant.
How do I restrict elFinder so only administrators can access it?
Put the connector route behind your admin middleware, either through the package's middleware configuration key or by wrapping the route in your own route group. Because elFinder performs real filesystem operations, also lock down the volume roots so the browser cannot traverse outside the intended directories. Test explicitly that a non-admin user receives a 403 from the connector endpoint rather than a rendered file manager.
Does this package work with CKEditor and TinyMCE file browser buttons?
Yes. The package exposes the elFinder connector at a stable route that CKEditor's filebrowserBrowseUrl and TinyMCE's file_picker_callback can point at, and it also works as a standalone file browser. Populate the editor integration using the same URL and middleware you use for the connector so access control stays consistent. If you rename the route during an upgrade, remember to update the editor configuration too.
Can I use barryvdh/elfinder-bundle with S3 or other remote filesystems?
Yes, because roots are backed by Laravel's filesystem and Flysystem, so any configured disk, including S3 or SFTP, can be mounted as an elFinder volume. You need the matching league/flysystem adapter installed for that disk. Note that the elfinder-flysystem-driver version pinned by this package determines which Flysystem major is acceptable, so confirm the adapter you install is compatible before committing.
Is upgrading from 0.5 to 0.6 a breaking change?
Treat it as potentially breaking until proven otherwise: 0.5 to 0.6 is a pre-1.0 bump with no backward-compatibility guarantee, and the release notes do not enumerate API changes. The v0.6.0 refactor of Laravel-specific code touches exactly the layer most projects customize, including service provider bindings, config keys, route names, middleware aliases, view namespaces, and published asset paths. Budget an hour to diff the release and produce an actual change list, because guessing is more expensive than measuring.
Why does the elfinder-flysystem-driver constraint matter for my other packages?
The driver pins which Flysystem major version is acceptable, and Flysystem majors are not interoperable with each other. A constraint bump can cascade into every other league/flysystem-* consumer in the application, such as image handling, backups, media libraries, and exports. Check whether the new constraint causes a Composer deadlock or, worse, silently upgrades a transitive adapter that surfaces as a failure much later.
How should I test and monitor elFinder in production?
Because the package is a thin service provider plus a connector controller, most of what needs testing is your own configuration. A feature test that authenticates as an admin, hits the connector route, and asserts a successful JSON response covers the integration, while a second test asserting a 403 for non-admins covers your middleware. Add a smoke check around the published config so a renamed key in an upgrade fails loudly instead of silently disabling a root.
Is barryvdh/elfinder-bundle still maintained, and what are the alternatives?
It is predominantly single-maintainer with an irregular release cadence, which belongs on your risk register for an admin-facing dependency. The mitigation is that the wrapper is thin, so vendoring or forking it is tractable if it stalls. If you need a longer-lived option, evaluate alternatives such as unisharp/laravel-filemanager or a custom uploader built on Laravel's filesystem, and keep in mind no business logic should ever depend on this UI-layer package.
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.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections