雪软 / laravelresponsivefilemanager
Laravel响应式文件管理器
dev-main
2022-02-21 23:11 UTC
Requires
- php: ^7.3|^8.0|^8.1
- illuminate/support: ^7.0|^8.0|^9.0
This package is auto-updated.
Last update: 2024-09-22 04:39:37 UTC
README
此存储库受MIT许可证的约束,除非文件中另有说明。
这里的Laravel插件代码部分受MIT许可证约束。
RFM作者提供其代码的商业版本(修改后的include.js
)。如果您在Laravel应用程序中使用CSRF检查,则需要修改此文件,在AJAX调用中添加_token: jQuery('meta[name="csrf-token"]').attr('content')
。您可以使用www.diffchecker.com来检查您需要应用到您的include.commercial.js
文件的修改。我无法提供RFM的商业用途许可证
如果您有任何更正、建议或其他意见,请告诉我。
如何安装?
在您的项目中安装
composer require Snowsoft/laravelresponsivefilemanager
现在有一个新的配置文件rfm.php
在config/app.php
中安装
'providers' => [
/*
* Laravel Framework Service Providers...
*/
...
// Responsive File Manager
Snowsoft\ResponsiveFileManager\FileManagerServiceProvider::class
],
在app/Http/Kernel.php
中需要使用StartSession,也可以使用并推荐使用CSRF Token
protected $middlewareGroups = [
...
'web' => [
...
\Illuminate\Session\Middleware\StartSession::class,
// Responsive File Manager supports CSRF Token usage
\App\Http\Middleware\VerifyCsrfToken::class
]
...
];
然后执行以下操作:
php artisan vendor:publish --provider="Snowsoft\ResponsiveFileManager\FileManagerServiceProvider"
生成用于URL识别的私钥
php artisan rfm:generate
所有配置都包含在内,以便直接使用。文件应存储在public文件夹中。
不要忘记在配置文件中设置上传目录
$upload_dir = 'media/';
$thumbs_upload_dir = 'thumbs/'; //this will create inside upload directory
在配置文件中设置路由前缀
'route_prefix' => 'filemanager/',
//or
'route_prefix' => 'admin/filemanager/',
在配置文件中设置中间件以提高安全性
'middleware' => 'auth', //defaualt is web
作为独立应用使用
使用助手函数编写文件管理器URL
<a href="@filemanager_get_resource(dialog.php)?field_id=imgField&lang=en_EN&akey=@filemanager_get_key()">Open RFM</a>
// OR
<a href="@filemanager_dialog(['field_id'=>'imgField'])">Open RFM</a>
// OR
<a href="@filemanager_dialog()">Open RFM</a>
请参阅响应式文件管理器文档中的“作为独立文件管理器使用”部分
包含在TinyMCE或CKEDITOR中
包含JS
- 对于CKEditor
将#MYTEXTAREAJS替换为您的textarea输入
<script src='{{ asset('/vendor/unisharp/laravel-ckeditor/ckeditor.js') }}'></script>
<script>
$(document).ready(function() {
if($("#MYTEXTAREAID").length) {
CKEDITOR.replace( 'postBody', {
filebrowserBrowseUrl : '@filemanager_get_resource(dialog.php)?akey=@filemanager_get_key()&type=2&editor=ckeditor&fldr=',
filebrowserUploadUrl : '@filemanager_get_resource(dialog.php)?akey=@filemanager_get_key()&type=2&editor=ckeditor&fldr=',
filebrowserImageBrowseUrl : '@filemanager_get_resource(dialog.php)?akey=@filemanager_get_key()&type=1&editor=ckeditor&fldr=',
language : '<?php App::getLocale() ?>'
});
}
})
</script>
- 对于TinyMCE
使用tinymce参数
$(document).ready(() => {
$('textarea').first().tinymce({
script_url : '/tinymce/tinymce.min.js',
width: 680,height: 300,
plugins: [
"advlist autolink link image lists charmap print preview hr anchor pagebreak",
"searchreplace wordcount visualblocks visualchars insertdatetime media nonbreaking",
"table contextmenu directionality emoticons paste textcolor filemanager code"
],
toolbar1: "undo redo | bold italic underline | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | styleselect",
toolbar2: "| responsivefilemanager | link unlink anchor | image media | forecolor backcolor | print preview code ",
image_advtab: true ,
filemanager_access_key: '@filemanager_get_key()',
filemanager_relative_url: true,
filemanager_sort_by: '',
filemanager_descending: '',
filemanager_subfolder: '',
filemanager_crossdomain: '',
external_filemanager_path: '@filemanager_get_resource(dialog.php)',
filemanager_title:"Responsive Filemanager" ,
external_plugins: { "filemanager" : "/vendor/responsivefilemanager/plugin.min.js"}
});
});
要使用私有文件夹,请使用.htaccess
文件并设置Deny from all