项目作者: theanhk

项目描述 :
Media gallery with CKEditor, TinyMCE and Summernote support. Built on Laravel file system.
高级语言: PHP
项目地址: git://github.com/theanhk/laravel-filemanager.git
创建时间: 2021-03-25T13:13:01Z
项目社区:https://github.com/theanhk/laravel-filemanager

开源协议:

下载


About

The file manager intended for using Laravel with CKEditor / TinyMCE. File manager in table database, do not browse on the server folder.
File Manager demo

Features

  • DB media and media folder
  • Chunk upload support
  • CKEditor and TinyMCE integration
  • Uploading validation
  • Cropping and resizing of images
  • Add custom support type
  • Image optimize after upload
  • Multi media select

Install

  • Install package

    1. composer require tadcms/filemanager
  • Publish the package’s config and assets:

    1. php artisan vendor:publish --provider="Tadcms\FileManager\Providers\FileManagerServiceProvider" --tag=config
    2. php artisan vendor:publish --provider="Tadcms\FileManager\Providers\FileManagerServiceProvider" --tag=assets
  • Migration

    1. php artisan migrate
  • Create symbolic link:

    1. php artisan storage:link
  • Edit routes/web.php

    1. Route::group(['prefix' => 'file-manager', 'middleware' => ['web', 'auth']], function (){
    2. \Tadcms\FileManager\Routes::web();
    3. });

Usage

Add media with \Illuminate\Http\UploadedFile

  1. use Tadcms\FileManager\Facades\FileManager;
  2. FileManager::withResource(request()->file('upload_file'))
  3. ->setFolder($folder_id)
  4. ->setType($type)
  5. ->save();

Add media with url

  1. use Tadcms\FileManager\Facades\FileManager;
  2. FileManager::withResource($urlFile)
  3. ->setFolder($folder_id)
  4. ->setType($type)
  5. ->save();

Add media with path

  1. use Tadcms\FileManager\Facades\FileManager;
  2. FileManager::withResource($pathFile)
  3. ->setFolder($folder_id)
  4. ->setType($type)
  5. ->save();

Params:

  1. $folder_id: Id lfm_folder_media table
  2. $type: image/file or customs your type

Configs

  1. <?php
  2. return [
  3. /**
  4. * Prefix route your file manager
  5. * Default: file-manager
  6. * */
  7. 'route_prefix' => env('LFM_PREFIX', 'file-manager'),
  8. /**
  9. * File system disk for upload by file-manager
  10. * Default: public
  11. * */
  12. 'upload_disk' => env('UPLOAD_DISK', 'public'),
  13. /**
  14. * File system disk for temps file
  15. * Default: local
  16. * */
  17. 'temp_disk' => env('TEMP_DISK', 'local'),
  18. /**
  19. * Optimizer image after upload by file manager
  20. * You can install the necessary binaries to use
  21. * Read more: https://github.com/spatie/image-optimizer/blob/master/README.md
  22. *
  23. * Default: false
  24. * */
  25. 'image-optimizer' => false,
  26. /**
  27. * File type for file manager: type=filetype
  28. * You can add new file type
  29. * Default: image, file
  30. * */
  31. 'file_types' => [
  32. 'image' => [
  33. /**
  34. * Max file size upload for type=image (MB)
  35. * Default: 15 MB
  36. * */
  37. 'max_file_size' => 15, //MB
  38. /**
  39. * Mime Types file allowed upload for type=image
  40. * Default: 15 MB
  41. * */
  42. 'mimetypes' => [
  43. 'image/jpeg',
  44. 'image/pjpeg',
  45. 'image/png',
  46. // ...
  47. ]
  48. ],
  49. 'file' => [
  50. 'max_file_size' => 1024, //MB
  51. 'mimetypes' => [
  52. 'image/jpeg',
  53. 'application/pdf',
  54. // ...
  55. ]
  56. ],
  57. ]
  58. ];

Credits

Laravel File Manager

License

The Laravel File Manager package is open-sourced software licensed under the MIT license.