helios-ag/fm-elfinder-bundle
Composer 安装命令:
composer require helios-ag/fm-elfinder-bundle
包简介
ElFinder bundle, adds ElFinder file manager to your Symfony project
README 文档
README
ElFinder integration in Symfony
Code Quality Assurance
| Tests | Coverage | License | Version |
|---|---|---|---|
| Downloads |
|---|
elFinder is an open-source file manager for web, written in JavaScript using jQuery UI. Creation is inspired by simplicity and convenience of Finder program used in Mac OS X operating system.
Recommended bundles to use with:
| FMTinyMCEBundle | FOSCKEditorBundle | FMSummernoteBundle |
|---|---|---|
Table of contents
- Installation
- Basic configuration
- CORS support
- Events listeners / subscribers
- Elfinder Form Type
- CKEditor integration
- TinyMCE integration
- Summernote integration
- Advanced configuration
- Configuration dump
Installation
Step 1: Installation
For Symfony Flex installation you need to enable community recipes:
composer config extra.symfony.allow-contrib true
Install
composer require helios-ag/fm-elfinder-bundle
Copy elfinder assets to public folder
bin/console elfinder:install
Step 2: Enable the bundle (Optional)
Enable the bundle in the kernel (not needed with symfony flex):
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new FM\ElfinderBundle\FMElfinderBundle(), ); }
Step 3: Import FMElfinderBundle routing file
# app/config/routing.yaml elfinder: resource: "@FMElfinderBundle/Resources/config/routing.yaml"
Step 4: Configure your application's security.yaml
Secure ElFinder with access_control:
# app/config/security.yaml security: //.... access_control: - { path: ^/efconnect, role: ROLE_USER } - { path: ^/elfinder, role: ROLE_USER }
Basic configuration
Add configuration options to your config.yaml
fm_elfinder: #assets_path: / # default is /assets, this is where css/js elfinder files are instances: default: locale: '%locale%' # defaults to current request locale editor: ckeditor # other options are tinymce, tinymce4, fm_tinymce, form, simple, custom relative_path: false #default true, will produce absolute urls to specified file(s) #editor_template: custom template for your editor # default null #path_prefix: / # for setting custom assets path prefix, useful for non vhost configurations, i.e. http://127.0.0.1/mysite/ #fullscreen: true|false # default is true, applies to simple and ckeditor editors #theme: smoothness # jquery theme, default is 'smoothness' #visible_mime_types: ['image/png', 'image/jpg', 'image/jpeg'] # only show these mime types, defaults to show all connector: #debug: true|false # defaults to false roots: # at least one root must be defined, defines root filemanager directories uploads: #show_hidden: true|false # defaults to false, hides dotfiles driver: LocalFileSystem path: uploads upload_allow: ['image/png', 'image/jpg', 'image/jpeg'] upload_deny: ['all'] upload_max_size: 2M # also file upload sizes restricted in php.ini #attributes: example of setting attributes permission # - { pattern: '/(.*?)/', read: true, write: false, locked: true }
- default - instance of elfinder, can be used to define multiple configurations of ElFinder, allows simultaneous configuration for different types of WYSIWYG editors in your project
- path - define root directory for the files inside web/ directory, default is "uploads". Make sure to set proper write/read and owner permissions to this directory.
- url - url to be prefixed to image path, for displaying. Can be either
absoluteorrelative. If absolute, you can use{homeFolder}string as placeholder which will be replaced automatically. If relative, it will be prefixed with the applications base-url. If left blank, url will be the base-url, append with the value of the 'path' parameter - driver - can be LocalFileSystem, FTP or MySQL, Flysystem, S3 and etc, check class FM\ElfinderBundle\DependencyInjection\Configuration
- locale - locale determines, which language, ElFinder will use, to translate user interface, default is current request locale
- cors_support - allows cross domain responses handling (default false)
- editor - determines what template to render, to be compatible with WYSIWYG web editor, currently supported options are: "ckeditor" (to use with FOSCKEditorBundle or TrsteelCkeditorBundle), "fm_tinymce" for tinymce4 (to use with FMTinyMCEBundle), "form" for form type, "simple" for standalone and "custom" for custom template. How to configure CKEDitor and TinyMCE to work with this bundle, will be explained further in this document.
- editor_template - define template to render when editor is set to "custom".
- connector - root node for defining options for elfinder root directories.
- roots - define "virtual directories" that reflect directories in your project.
- path_prefix - path prefix with relative_path enabled, default is slash ('/')
- show_hidden - show files and folders that starts from . (dot)
- driver - driver type, LocalFileSystem, Dropbox, FTP
- volume_id - (optional) can be used to force a volume id when mounting volume (default auto-increments). If provided, it must be an integer bigger than 0.
- alias - directory alias
- path - directory that contains files
- upload_allow: ['image/png', 'image/jpg', 'image/jpeg']
- upload_deny: ['all']
- upload_max_size: 2M
You can see the full list of roots options here. To use them, convert camelCased option name to snake_case name.
Use multiple upload folder by instance
You can set multiple upload root folder by instance configuration.
If you have configured your instance with /uploads path, you can provide
an additional folder as a home folder (e.g. for a multi-users application) when accessing to the instance URL :
/elfinder/{instance}/{homeFolder} or /efconnect/{instance}/{homeFolder}
For example, accessing to /elfinder/acmeInstance/bob URL will open up elfinder with
/uploads/bob as root directory which only contains Bob's files.
Then, accessing to /elfinder/acmeInstance/alice URL will re-use your instance,
but open up elfinder with /uploads/alice folder as root directory, containing only Alice's files.
To use this feature, you must provide the instance name in the URL, and of course be sure to set proper write/read permissions on home folders.
Note: this feature is only available with LocalFileSystem driver.
If I want more one home folder is possible ?
Yes you can with this configuration in your fm_elfinder.yaml
where_is_multi: {connector}: {index of the connector} multi_home_folder: true folder_separator: {one char other of /}
Example
fm_elfinder:
instances:
default:
locale: fr # defaults to current request locale
editor: ckeditor # other options are tinymce, tinymce4, fm_tinymce, form, simple, custom
#editor_template: custom template for your editor # default null
#path_prefix: http://localhost/ # for setting custom assets path prefix, useful for non vhost configurations, i.e. http://127.0.0.1/mysite/
fullscreen: false # default is true, applies to simple and ckeditor editors
where_is_multi:
roots: 0
multi_home_folder: true
folder_separator: "|"
#theme: smoothness # jquery theme, default is 'smoothness'
#visible_mime_types: ['image/png', 'image/jpg', 'image/jpeg'] # only show these mime types, defaults to show all
connector:
#debug: true|false # defaults to false
roots: # at least one root must be defined, defines root filemanager directories
uploads:
#show_hidden: true|false # defaults to false, hides dotfiles
driver: LocalFileSystem
path: "/var"
alias: Bibliothèque générale
upload_allow: ['all']
#upload_deny: ['all']
upload_max_size: 500M # also file upload sizes restricted in php.ini
attributes:
- {pattern: '..', read: true, write: true, locked: false}
#attributes: example of setting attributes permission
# - { pattern: '/(.*?)/', read: true, write: false, locked: true }
helios-ag/fm-elfinder-bundle 适用场景与选型建议
helios-ag/fm-elfinder-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 5.04M 次下载、GitHub Stars 达 281, 最近一次更新时间为 2012 年 10 月 04 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「wysiwyg」 「elfinder」 「file manager」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 helios-ag/fm-elfinder-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 helios-ag/fm-elfinder-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 helios-ag/fm-elfinder-bundle 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
The file manager intended for using Laravel with CKEditor / TinyMCE / Colorbox
A Flysystem Driver for elFinder extended version
Laravel Media Popup to upload/view the files
WYSIWYG editor for Yii2 based on Bootstrap 3
PMVC Plugin for File information
Laravel Elfinder
统计信息
- 总下载量: 5.04M
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 287
- 点击次数: 22
- 依赖项目数: 38
- 推荐数: 4
其他信息
- 授权协议: MIT
- 更新时间: 2012-10-04