aderinkok / laravel-file-manager
File manager for Laravel
Installs: 8
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 312
pkg:composer/aderinkok/laravel-file-manager
Requires
- php: >=7.1.0
 - ext-json: *
 - ext-zip: *
 - intervention/image: ^2.4
 - intervention/imagecache: ^2.3
 - laravel/framework: 5.5.*|5.6.*|5.7.*|5.8.*|^6.0
 - league/flysystem: ^1.0
 
This package is auto-updated.
Last update: 2025-10-29 02:50:37 UTC
README
DEMO: Laravel File Manager
Vue.js Frontend: alexusmai/vue-laravel-file-manager
Documentation
Features
- Frontend on Vue.js - vue-laravel-file-manager
 - Work with the file system is organized by the standard means Laravel Flysystem:
- Local, FTP, S3, Dropbox ...
 - The ability to work only with the selected disks
 
 - Several options for displaying the file manager:
- One-panel view
 - One-panel + Directory tree
 - Two-panel
 
 - The minimum required set of operations:
- Creating files
 - Creating folders
 - Copying / Cutting Folders and Files
 - Renaming
 - Uploading files (multi-upload)
 - Downloading files
 - Two modes of displaying elements - table and grid
 - Preview for images
 - Viewing images
 - Full screen mode
 
 - More operations (v.2):
- Audio player (mp3, ogg, wav, aac), Video player (webm, mp4) - (Plyr)
 - Code editor - (Code Mirror)
 - Image cropper - (Cropper.js)
 - Zip / Unzip - only for local disks
 
 - Integration with WYSIWYG Editors:
- CKEditor 4
 - TinyMCE 4
 - TinyMCE 5
 - SummerNote
 - Standalone button
 
 - ACL - access control list
- delimiting access to files and folders
 - two work strategies:
- blacklist - Allow everything that is not forbidden by the ACL rules list
 - whitelist - Deny everything, that not allowed by the ACL rules list
 
 - You can use different repositories for the rules - an array (configuration file), a database (there is an example implementation), or you can add your own.
 - You can hide files and folders that are not accessible.
 
 - Events (v2.2)
 - Thumbnails lazy load
 - Dynamic configuration (v2.4)
 - Supported locales : ru, en, ar, sr, cs, de, es, nl, zh-CN, fa, it, tr
 
In a new version 2.4
Now you can create your own config repositories, it will allow to change your configuration dynamically.
How to do it:
Create new class - example - TestConfigRepository
namespace App\Http; use Alexusmai\LaravelFileManager\Services\ConfigService\ConfigRepository; class TestConfigRepository implements ConfigRepository { // implement all methods from interface }
For example see src/Services/ConfigService/DefaultConfigRepository.php
Upgrading to version 2.4
Update pre-compiled css and js files and config file - file-manager.php
// config php artisan vendor:publish --tag=fm-config --force // js, css php artisan vendor:publish --tag=fm-assets --force
If you use the ACL, now you don't need to add the acl middleware to configuration.
//======= In old versions ========== 'acl' => true, // add acl middleware to your array 'middleware' => ['web', 'fm-acl'], //======= In a new version ========= 'acl' => true, 'middleware' => ['web'],