akbarjoudi / ckfinder-laravel-package
Laravel 的 CKFinder 3 包
Requires
- php: ^7.2.5
- laravel/framework: ^7.0
- league/flysystem: ^1.0.45
- league/flysystem-aws-s3-v3: ^1.0.13
- league/flysystem-cached-adapter: ^1.0.6
- pimple/pimple: ~3.0
- spatie/flysystem-dropbox: ^1.0
This package is auto-updated.
Last update: 2024-09-12 16:19:06 UTC
README
Laravel 5.5+ 的 CKFinder 3 包 
此存储库包含 Laravel 5.5+ 的 CKFinder 3 包。
安装
-
添加 Composer 依赖项并安装包。
composer require ckfinder/ckfinder-laravel-package
-
运行命令下载 CKFinder 代码。
在安装 Laravel 包之后,您需要下载 CKFinder 代码。由于许可证条款不同,它不包括在包中。要安装它,请运行以下
artisan
命令php artisan ckfinder:download
它将下载所需的代码并将其放置在包的适当目录中(
vendor/ckfinder/ckfinder-laravel-package/
)。 -
发布 CKFinder 连接器配置和资产。
php artisan vendor:publish --tag=ckfinder
这将把 CKFinder 资产发布到
public/js/ckfinder
,并将 CKFinder 连接器配置发布到config/ckfinder.php
。 -
为 CKFinder 文件创建一个目录并允许写入权限。默认情况下,CKFinder 预期文件位于
public/userfiles
(这可以在配置中更改)。mkdir -m 777 public/userfiles
注意:由于通常将权限设置为 0777
是不安全的,因此建议将目录的所有权更改为与 Apache 相同的用户,并添加组写权限。如有疑问,请联系系统管理员。
此时,您应该在导航到 <APP BASE URL>/ckfinder/connector?command=Init
地址后看到连接器 JSON 响应。CKFinder 的身份验证尚未配置,因此您将看到一个错误响应,表明 CKFinder 未启用。
配置身份验证
CKFinder 连接器身份验证由 中间件 类或别名处理。要创建自定义中间件类,请使用 artisan 命令
php artisan make:middleware CustomCKFinderAuth
新的中间件类将出现在 app/Http/Middleware/CustomCKFinderAuth.php
中。更改 config/ckfinder.php
中的 authentication
选项
$config['authentication'] = '\App\Http\Middleware\CustomCKFinderAuth';
CustomCKFinderAuth
类中的 handle
方法允许对 CKFinder 用户进行身份验证。一个简单的实现,从 authentication
可调用返回 true
(显然 不安全),如下所示
public function handle($request, Closure $next) { config(['ckfinder.authentication' => function() { return true; }]); return $next($request); }
请参阅 CKFinder for PHP 连接器文档 了解更多关于此选项的信息。
配置选项
CKFinder 连接器配置来自 config/ckfinder.php
文件。
要了解更多有关可能的连接器配置选项,请参阅 CKFinder for PHP 连接器文档。
用法
包代码包含一些有用的使用示例。要启用它们,取消注释 vendor/ckfinder/ckfinder-laravel-package/src/routes.php
中的 ckfinder_examples
路由
// vendor/ckfinder/ckfinder-laravel-package/src/routes.php Route::any('/ckfinder/examples/{example?}', 'CKSource\CKFinderBridge\Controller\CKFinderController@examplesAction') ->name('ckfinder_examples');
之后,您可以导航到 <APP BASE URL>/ckfinder/examples
路径并查看可用示例的列表。要了解其背后的代码,请检查包中的 views/samples
目录(vendor/ckfinder/ckfinder-laravel-package/views/samples/
)。
在模板中包含主 CKFinder JavaScript 文件
为了能够在网页上使用 CKFinder,您必须包含主 CKFinder JavaScript 文件。首选的方法是包含 CKFinder 设置模板,如下所示
@include('ckfinder::setup')
所包含的模板渲染所需的script
标签,并配置了有效的连接器路径。
<script type="text/javascript" src="/js/ckfinder/ckfinder.js"></script> <script>CKFinder.config( { connectorPath: '/ckfinder/connector' } );</script>