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
Laravel File Manager

Laravel File Manager Laravel Package

alexusmai/laravel-file-manager

A full-featured file manager for Laravel with a responsive UI, multi-user support, ACL permissions, image thumbnails, CKEditor and TinyMCE integration, and a simple API for managing files and folders inside your applications.

View on GitHub
Deep Wiki
Context7

File manager for Laravel

Frequently asked questions about Laravel File Manager
How do I install alexusmai/laravel-file-manager in a Laravel app?
Install it with Composer using composer require alexusmai/laravel-file-manager, then publish the package configuration and front-end assets with the vendor:publish command documented in the README. The package ships a responsive UI and a simple API for managing files and folders, so you will also want to mount its routes and check whether the ACL and multi-user features require any additional migration or setup steps before enabling them.
Which PHP and Laravel versions does laravel-file-manager support?
Version 3.2.0 moves to Intervention Image v3 through the intervention/image-laravel bridge, which requires PHP 8.1 or newer, so hosts on PHP 8.0 or below cannot run it. Check the composer.json constraints and the README for the exact Laravel version matrix, since that is the authoritative source and it can change between releases. If you are stuck on an older PHP version, you will need to stay on an earlier package release.
How do I set up ACL permissions and multi-user access in laravel-file-manager?
The package includes multi-user support and ACL permissions that let you control which users can view, upload, rename, or delete files inside specific directories and disks. Access rules are configured alongside the main config/file-manager.php settings, so publish the config first and then define your per-user or per-role restrictions. Pair the package ACLs with your application's authentication middleware so unauthenticated requests are rejected before they reach the file manager routes.
How do I integrate the file manager with CKEditor or TinyMCE?
The package provides built-in integration for both CKEditor and TinyMCE, so you point the editor's file browser settings at your file manager URL rather than writing a custom connector. In CKEditor this usually means setting filebrowserBrowseUrl and filebrowserImageBrowseUrl, and in TinyMCE the equivalent file_picker_callback or file browser options. Make sure the editor and the file manager share the same authentication session, otherwise the browser window will load but uploads and listings will fail.
Does laravel-file-manager generate image thumbnails, and which image driver should I use?
Yes, image thumbnails are a core feature, and the actual manipulation is delegated to Intervention Image. Since release 3.2.0 that means Intervention Image v3 via the intervention/image-laravel bridge, which requires either GD or Imagick on the host. Pin the driver explicitly in the adapter's config/image.php per environment instead of relying on auto-detection, because default driver, quality, and encoder settings differ between v2 and v3 and existing thumbnails will not be byte-identical after the upgrade.
How do I upgrade laravel-file-manager to 3.2.0 with Intervention Image v3?
Bump the package to ^3.2, let Composer pull intervention/image ^3 and intervention/image-laravel, and confirm intervention/imagecache is gone from composer.lock. Before you schedule the work, grep the whole application for Intervention\Image, Image::make, Image::read, and imagecache, because the Composer bump is global and your own v2 call sites will break at the same moment. Also run composer why intervention/image first to surface conflicts from other packages still pinned to ^2, then publish config/image.php and pin the driver.
Why did config('file-manager.cache') stop working after upgrading to 3.2.0?
Release 3.2.0 removes the abandoned intervention/imagecache layer along with its cache key in config/file-manager.php. Laravel silently ignores unknown config keys, so any code reading that value returns null and caching is quietly disabled rather than throwing an exception. The result is a performance and disk-growth regression that can go unnoticed for weeks, so remove the dead key during the upgrade and move image caching to your application or CDN.
How do I secure laravel-file-manager routes in production?
Keep the file manager routes behind your authentication middleware and restrict them further with the package's ACL permissions so only intended users can browse or modify each directory. Never leave the routes publicly reachable, since the manager exposes upload, rename, and delete operations over HTTP. When upgrading, also handle any previously generated /imagecache/ URLs embedded in stored content, emails, or markdown, because those routes came from the removed imagecache package and will 404.
How do I customize laravel-file-manager config, routes, and views?
Publish the package config with vendor:publish and edit config/file-manager.php to set your disks, ACL rules, and UI options. The front-end assets and views can be published and overridden the same way, which lets you restyle the responsive interface without forking the package. Routes and middleware can be adjusted through the published configuration, so review that file after every upgrade since key names change between major releases.
How can I test laravel-file-manager in my Laravel test suite?
Use Storage::fake on the disk your file manager is configured to use, then hit the package routes with actingAs so authenticated ACL checks run as expected. Assert on the JSON responses and on the fake disk contents rather than on rendered HTML, which keeps the tests stable across UI changes. If you exercise thumbnail generation, make sure GD or Imagick is available in your CI image and that the driver is pinned in config/image.php.
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.
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
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core