Weave Code
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 Flysystem Driver Ext

Elfinder Flysystem Driver Ext Laravel Package

nao-pon/elfinder-flysystem-driver-ext

Extended Flysystem driver for elFinder (nao-pon/elfinder), adding broader filesystem adapter support to connect elFinder’s file manager to various storage backends through Flysystem, including extra/legacy adapters beyond the core driver.

View on GitHub
Deep Wiki
Context7

A Flysystem Driver for elFinder extended version

Frequently asked questions about Elfinder Flysystem Driver Ext
How do I integrate this package with Laravel’s built-in Storage facade for S3 or cloud storage?
First, configure your Flysystem adapters in Laravel’s `filesystems.php` (e.g., S3, GCS, or Azure). Then, override elFinder’s init config to use this driver by specifying `drivers: ['Flysystem']` and mapping the `root` to your Laravel disk (e.g., `root: '/storage/s3'`). The package bridges elFinder’s UI with Laravel’s Storage facade, so no additional setup is needed beyond standard Flysystem configuration.
Does this work with Laravel 9+ and Flysystem v2.x, or is it limited to older versions?
This package is tested with Laravel 8/9 and Flysystem v2.x, which is the default in modern Laravel. While Flysystem v1.x *might* work, we recommend using v2.x for compatibility with Laravel’s latest ecosystem. Always check the package’s `composer.json` for version constraints if upgrading.
Can I use this to replace elFinder’s native S3/FTP drivers with Flysystem for better abstraction?
Yes, this driver replaces elFinder’s native adapters with Flysystem, enabling unified filesystem handling (e.g., switch between S3 and local storage seamlessly). It’s ideal if your app needs to abstract away backend specifics or leverage Laravel’s Storage facade. However, some elFinder features (like FTP-specific UI tweaks) may behave differently.
What Flysystem adapters are officially supported, and are there Laravel-specific ones (e.g., fruitscuk/laravel-flysystem)?
This package supports any Flysystem adapter (S3, GCS, Azure, local, etc.), including Laravel-specific ones like `fruitscuk/laravel-flysystem`. The key requirement is that the adapter must be pre-configured in Laravel’s `filesystems.php`. Popular adapters like `league/flysystem-aws-s3` or `league/flysystem-local` will work out of the box.
How do I handle file permissions (e.g., CHMOD) when using cloud storage like S3 with elFinder?
Cloud storage (S3, GCS) typically ignores Unix permissions, so CHMOD operations may not work as expected. For local filesystems, permissions depend on the Flysystem adapter’s support (e.g., `league/flysystem-local` handles CHMOD). Test thoroughly, and consider adding Laravel middleware to validate or enforce permissions before uploads/downloads.
Will this break my existing elFinder setup if I only need local filesystem support?
No, this package is a drop-in replacement for elFinder’s default drivers. If you’re already using elFinder with local storage, you can swap to this driver without breaking functionality. However, ensure your `filesystems.php` includes a `local` disk configuration (e.g., `driver: 'local'`) for the driver to reference.
Do I need to rewrite my frontend (jQuery) if I want to use this with Vue.js or React?
The frontend (elFinder’s UI) remains jQuery-based by default, but you can expose elFinder’s API endpoints (e.g., `/elFinder/connector`) to build custom integrations with Vue/React. For example, use Axios to trigger elFinder actions like uploads or deletions. The package itself doesn’t change the frontend; it only extends the backend driver.
Are there performance concerns when using this with large files (e.g., 100MB+) or high concurrency?
Performance depends on your Flysystem adapter and backend (e.g., S3 vs. local storage). Test with large files to validate upload/download speeds and memory usage. For cloud storage, consider enabling Flysystem’s streaming options (e.g., `stream_writes: true` in Laravel’s config) to reduce memory spikes. Monitor concurrent operations if multiple users access elFinder simultaneously.
What’s the best way to test this package in a Laravel application before production?
Start by testing CRUD operations (upload, download, delete) against your configured Flysystem disks. Use Laravel’s `Storage` facade to verify file paths and permissions. For edge cases, test concurrent uploads, file locks, and symlinks (if supported). Mock external services (e.g., S3) with tools like `vcr` or `mocks` to avoid real API calls during testing.
If I don’t use elFinder yet, should I switch to this package or consider alternatives like Dropzone or Vue File Upload?
If you’re not using elFinder, weigh its features (drag-and-drop, thumbnails, permissions) against alternatives like Dropzone or Vue File Upload. This package is only useful if you’re committed to elFinder’s UI. For Laravel, consider `spatie/laravel-elFinder` for easier setup or standalone libraries like `dropzone` if you prefer a lighter solution. Evaluate whether you need elFinder’s advanced features (e.g., network drives, dual-pane view).
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.
directorytree/privacy-filter-classifier
directorytree/privacy-filter
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi
splash/scopes
splash/toolkit
testo/output-teamcity
testo/bridge-symfony
spatie/flare-daemon-runtime