Files
faveo/vendor/unisharp/laravel-filemanager/docs/config.md
RafficMohammed 774eed8b0e laravel-6 support
2023-01-08 01:17:22 +05:30

270 lines
6.3 KiB
Markdown

**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:
1. run `php artisan publish tag="lfm_handler"`
2. rewrite `userField` function in App\Handler\ConfigHandler class
3. 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:
1. run `php artisan publish tag="lfm_handler"`
2. rewrite `userField` function in `App\Handler\ConfigHandler` class
3. 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, if `folder_name` is set to `files2` then:
* 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/`
* `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](http://docs.w3cub.com/http/basics_of_http/mime_types/complete_list_of_mime_types/).
## 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](http://docs.w3cub.com/http/basics_of_http/mime_types/complete_list_of_mime_types/).
### 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: `array` or `boolean`
* 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.