akbarjoudi/ckfinder-laravel-package

Laravel 的 CKFinder 3 包

3.5.1.4 2020-03-12 06:24 UTC

This package is auto-updated.

Last update: 2024-09-12 16:19:06 UTC


README

Laravel 5.5+ 的 CKFinder 3 包 Tweet

Laravel version License Packagist Packagist Join newsletter Follow twitter

此存储库包含 Laravel 5.5+ 的 CKFinder 3 包。

安装

  1. 添加 Composer 依赖项并安装包。

    composer require ckfinder/ckfinder-laravel-package
  2. 运行命令下载 CKFinder 代码。

    在安装 Laravel 包之后,您需要下载 CKFinder 代码。由于许可证条款不同,它不包括在包中。要安装它,请运行以下 artisan 命令

    php artisan ckfinder:download

    它将下载所需的代码并将其放置在包的适当目录中(vendor/ckfinder/ckfinder-laravel-package/)。

  3. 发布 CKFinder 连接器配置和资产。

    php artisan vendor:publish --tag=ckfinder

    这将把 CKFinder 资产发布到 public/js/ckfinder,并将 CKFinder 连接器配置发布到 config/ckfinder.php

  4. 为 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>

有用链接