6.3 KiB
The config is in config/lfm.php.
Routing:
use_package_routes
- type:
boolean - default:
true
Use default routes or not. You will need to define routes to all controllers of this package if this is set to false.
Multi-User Mode:
allow_private_folder
- type:
boolean - default:
true
Only the owner(each signed-in user) of the private can upload and manage files within. Set to false to turn this feature off.
private_folder_name
- type:
string - default: user id
Privates folders for each user will be named by this config. Default to user id.
To change the behavior:
- run
php artisan publish tag="lfm_handler" - rewrite
userFieldfunction in App\Handler\ConfigHandler class - set value of this config to App\Handler\ConfigHandler::class
allow_shared_folder
- type:
boolean - default:
true
shared_folder_name
- type:
string - default:
"shares"
Flexible way to customize client folders accessibility.
If you want to customize client folders:
- run
php artisan publish tag="lfm_handler" - rewrite
userFieldfunction inApp\Handler\ConfigHandlerclass - set value of this config to
App\Handler\ConfigHandler::class
All users can upload and manage files within shared folders. Set to false to turn this feature off.
Folder Categories
folder_categories
- type:
array(nested) - default:
'folder_categories' => [
'file' => [
'folder_name' => 'files',
'startup_view' => 'list',
'max_size' => 50000, // size in KB
'valid_mime' => [
'image/jpeg',
'image/pjpeg',
'image/png',
'image/gif',
'application/pdf',
'text/plain',
],
],
'image' => [
'folder_name' => 'photos',
'startup_view' => 'grid',
'max_size' => 50000, // size in KB
'valid_mime' => [
'image/jpeg',
'image/pjpeg',
'image/png',
'image/gif',
],
],
],
The default config creates two folder categories, file and image, each operates independently. Files uploaded by users will be placed under one of these folder categories, depend on which is configured with your WYSIWYG editor or stand-alone upload button.
Detail options are explained here:
folder_name: The folder name of the category. For example, iffolder_nameis set tofiles2then:- directory path of the private folder will be:
/<path-to-laravel>/storage/app/public/files2/<user-id>/ - directory path of the shared folder will be:
/<path-to-laravel>/storage/app/public/files2/shares/
- directory path of the private folder will be:
startup_view: The default display mode. Available options:list&grid.max_size: The maximum size(in KB) of of a single file to be uploaded.valid_mime: Only files with mime types listed here are allowed to be uploaded. See full mime types list.
Pagination:
paginator
- type:
array - default:
'paginator' => [
'perPage' => 30,
],
Upload / Validation:
disk
- type:
string - default:
public
Disk name of Laravel File System. All files are placed in here. Choose one of the disks section in config/filesystems.php.
rename_file
- type:
boolean - default:
false
If set to true, the uploaded file will be renamed using uniqid().
alphanumeric_filename
- type:
boolean - default:
false
If set to true, non-alphanumeric file name will be replaced with _.
alphanumeric_directory
- type:
boolean - default:
false
If set to true, non-alphanumeric folder name will be rejected.
should_validate_size
- type:
boolean - default:
false
If set to true, the size of uploading file will be verified.
should_validate_mime
- type:
boolean - default:
true
If set to true, the mime type of uploading file will be verified.
over_write_on_duplicate
- type:
int - default:
false
Define behavior on files with identical name. Setting it to true cause old file replace with new one. Setting it to false show error-file-exist error and abort the upload process.
Thumbnail
should_create_thumbnails
- type:
boolean - default:
true
If set to true, thumbnails will be created for faster loading.
thumb_folder_name
- type:
string - default:
thumbs
Folder name to place thumbnails.
raster_mimetypes
- type:
array - default:
'raster_mimetypes' => [
'image/jpeg',
'image/pjpeg',
'image/png',
],
Create thumbnails automatically only for listed types. See full mime types list.
thumb_img_width
- type:
int - default:
200
Thumbnail images width (in px).
thumb_img_height
- type:
int - default:
200
Thumbnail images height (in px).
Create thumbnails automatically only for listed types.
File Extension Information
file_type_array
- type:
array - default:
'file_type_array' => [
'pdf' => 'Adobe Acrobat',
'doc' => 'Microsoft Word',
'docx' => 'Microsoft Word',
'xls' => 'Microsoft Excel',
'xlsx' => 'Microsoft Excel',
'zip' => 'Archive',
'gif' => 'GIF Image',
'jpg' => 'JPEG Image',
'jpeg' => 'JPEG Image',
'png' => 'PNG Image',
'ppt' => 'Microsoft PowerPoint',
'pptx' => 'Microsoft PowerPoint',
],
Gives description for listed file extensions.
php.ini override
php_ini_overrides
- type:
arrayorboolean - default:
'php_ini_overrides' => [
'memory_limit' => '256M',
],
These values override your php.ini settings before uploading files. Set these to false to ingnore and apply your php.ini settings
⚠️ Caveats
The php_ini_overrides are applied on every request the filemanager does and are reset once the script has finished executing. This has one drawback: any ini settings that you might want to change that apply to the request itself will not work.
For example, overriding these settings will not work:
- upload_max_filesize
- post_max_size
Why this is expected behaviour: upload_max_filesize and post_max_size will get set but uploaded files are already passed to your PHP script before the settings are changed.