Download the PHP package jakovic/laravel-storage-explorer without Composer
On this page you can find all versions of the php package jakovic/laravel-storage-explorer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download jakovic/laravel-storage-explorer
More information about jakovic/laravel-storage-explorer
Files in jakovic/laravel-storage-explorer
Package laravel-storage-explorer
Short Description A storage directory tree view with file management for Laravel applications.
License MIT
Informations about the package laravel-storage-explorer
Laravel Storage Explorer
A visual file manager for Laravel storage. Browse directories, preview files, upload, download, and delete - all from a clean, responsive UI. Built with Blade + Alpine.js, zero external dependencies.
Screenshots
Features
- Directory tree with lazy-loading and expand/collapse
- File preview for text, code, JSON, CSV, images, and log files with color-coded severity levels
- Tail preview for large files (shows last 64KB instead of failing)
- File upload with drag & drop and progress bar
- Create folders directly from the UI
- File download via signed URLs (5-minute expiry)
- File and directory deletion with confirmation
- Search across all files recursively
- Two modes: standalone page or embedded in your existing admin panel
- Configurable: disk, middleware, hidden patterns, blocked extensions, depth limits
- Secure: path traversal prevention, blocked dangerous uploads, signed downloads, CSRF protection
- Zero dependencies beyond Laravel itself (no Livewire, no npm build step)
Requirements
- PHP 8.1+
- Laravel 10, 11, 12, or 13
Installation
The package auto-registers via Laravel's package discovery. No additional setup required.
Quick Start
Visit /storage-explorer in your browser. Done.
Configuration
Publish the config to customize behavior:
All Options
Protecting with Middleware
Add authentication middleware in the config:
Or use a gate for fine-grained access:
Embedding in Your Admin Panel
Option 1: Config-based (recommended)
Set your layout in config/storage-explorer.php:
The package renders inside your layout with fully scoped CSS - no Tailwind CDN needed, no conflicts with Bootstrap or other frameworks.
Option 2: Manual include
In your Blade view:
Important: Keep standalone.enabled = true so the API routes are registered.
Option 3: Custom routes
Register routes manually in your routes/web.php with your own middleware:
Then set standalone.enabled = false in config to avoid duplicate routes.
Browsing Different Disks
By default the package browses the local disk. To browse other disks:
Publishing Views
Customize the UI by publishing views:
Views are published to resources/views/vendor/storage-explorer/.
Security
The package includes multiple security layers:
- Path traversal prevention - rejects
.., null bytes, URL-encoded traversal attempts - Signed download URLs - 5-minute expiry, prevents unauthorized direct file access
- Blocked upload extensions - PHP, shell scripts, executables blocked by default
- Configurable middleware - add
auth, gates, or custom middleware - CSRF protection - all write operations require CSRF token
- HTML escaping - log file preview escapes content before highlighting
Important: The default configuration has no authentication. Always add auth middleware in production.
Testing
The test suite covers:
- Unit tests for
StorageService(path validation, directory listing, search, file operations) - Unit tests for
FileTypeenum - Feature tests for all API endpoints (tree, preview, search, upload, download, delete)
- Security tests (path traversal vectors, blocked extensions, signed URLs)
Contributing
Contributions are welcome! Please open an issue or submit a pull request.
License
MIT License. See LICENSE for details.
Author
Simo Jaković - jakovic.com - GitHub
All versions of laravel-storage-explorer with dependencies
illuminate/support Version ^10.0|^11.0|^12.0|^13.0
illuminate/routing Version ^10.0|^11.0|^12.0|^13.0
illuminate/filesystem Version ^10.0|^11.0|^12.0|^13.0