Skip to content
File manager for Laravel
Branch: master
Clone or download

Latest commit


Type Name Latest commit message Commit time
Failed to load latest commit information.
config hidden files filter, json edit, small fixes Nov 20, 2019
docs fix getClientSize to getSize Apr 20, 2020
examples/wysiwyg fix getClientSize to getSize Apr 20, 2020
migrations acl Feb 7, 2019
resources fix getClientSize to getSize Apr 20, 2020
src fix getClientSize to getSize Apr 20, 2020
.gitignore init Apr 21, 2018 updated assets Sep 16, 2019 move language variables to frontend Oct 21, 2019 laravel 7 Mar 7, 2020
composer.json laravel 7 Mar 7, 2020

Laravel File Manager

Latest Stable Version Total Downloads Latest Unstable Version License

Laravel File Manager

DEMO: Laravel File Manager

Vue.js Frontend: alexusmai/vue-laravel-file-manager

--- Laravel 7 support added but not fully tested!! ---


Laravel File Manager Docs


  • 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, fr, pt_BR

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'],


You can’t perform that action at this time.