Requirements

TL;DR

  1. Run these lines

     composer require unisharp/laravel-filemanager
     php artisan vendor:publish --tag=lfm_config
     php artisan vendor:publish --tag=lfm_public
     php artisan storage:link
    
  2. Edit APP_URL in .env.

Full Installation Guide

  1. Install package

     composer require unisharp/laravel-filemanager
    
  2. (optional) Install required dependency with v3.* of intervention/image:

    This package use intervention/image to perform image cropping/resizing and generating thumbnails. Since v3.* of intervention/image does not support Laravel by default, the service provider need to be installed with the following scripts. Details can be found here: https://github.com/Intervention/image-laravel

     composer require intervention/image-laravel
     php artisan vendor:publish --provider="Intervention\Image\Laravel\ServiceProvider"
    

    * Do not run these scripts if you use v2.* of intervention/image.

  3. Publish the package’s config and assets :

     php artisan vendor:publish --tag=lfm_config
     php artisan vendor:publish --tag=lfm_public
    
  4. (optional) Run commands to clear cache :

     php artisan route:clear
     php artisan config:clear
    
  5. Ensure that the files & images directories (in config/lfm.php) are writable by your web server (run commands like chown or chmod).

  6. Create symbolic link :

     php artisan storage:link
    
  7. Edit APP_URL in .env.

  8. Edit routes/web.php :

    Create route group to wrap package routes.

     Route::group(['prefix' => 'laravel-filemanager', 'middleware' => ['web', 'auth']], function () {
         \UniSharp\LaravelFilemanager\Lfm::routes();
     });
    

    Make sure auth middleware is present to :

    1. prevent unauthorized uploads
    2. work properly with multi-user mode
  9. make sure database exists

  10. login and visit /laravel-filemanager/demo

Installing alpha version

What’s next

  1. Check the integration document to see how to apply this package.

  2. Check the config document to discover the flexibility of this package.