Skip to content
/ ckfinder Public

CkFinder3.5.1 for PHP 优化版 (添加又拍云存储)

Notifications You must be signed in to change notification settings

itxq/ckfinder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CkFinder3.5.1 for PHP 优化版 (添加又拍云存储)

PHP Version Latest Stable Version Total Downloads Latest Unstable Version License composer.lock available

开源地址:

【GitHub:】https://github.com/itxq/ckfinder

【码云:】https://gitee.com/itxq/ckfinder

扩展安装:

  • 方法一:composer命令 composer require itxq/ckfinder

  • 方法二:直接下载压缩包,然后进入项目中执行 composer命令 composer update 来生成自动加载文件

引用扩展:

  • 当你的项目不支持composer自动加载时,可以使用以下方式来引用该扩展包
// 引入扩展(具体路径请根据你的目录结构自行修改)
require_once __DIR__ . '/vendor/autoload.php';

使用示例:

<?php

use itxq\ckfinder\CkFinder;

require __DIR__ . '/vendor/autoload.php';

if (isset($_GET['command'])) {

    try {
        CkFinder::make()
            // 配置缓存目录
            ->setConfig('runtime_path', __DIR__ . '/runtime')
            // 授权信息
            ->setConfig('licenseName', 'licenseName')
            ->setConfig('licenseKey', 'licenseKey')
            // 是否自动重命名(用于过滤用户提交包含中文以及特殊字符,中文会自动转为拼音)
            ->setConfig('auto_rename', ['folder' => true, 'file' => true])
            // 设置PrivateDirKey (可用于区分不同用户的缓存目录,建议使用用户ID)
            ->setPrivateDirKey('')
            // 添加一个又拍云存储空间(添加多个存储空间时,name不可重复)
            ->addBackend('my_upy', CkFinder::ADAPTER_UPY, [
                // 又拍云操作员相关设置
                'service'  => 'service',
                'operator' => 'operator',
                'password' => 'password',
                // 以下根路径和URL前缀需根据自己项目进行调整
                'root'     => 'my_upy/',
                'baseUrl'  => 'http://test.upy.com/my_upy'
            ])
            // 为又拍云存储空间添加一个资源目录(可添加多个)
            ->addResource('云端存储', '01', 'my_upy')
            // 添加一个本地存储空间(添加多个存储空间时,name不可重复)
            ->addBackend('my_local', CkFinder::ADAPTER_LOCAL, [
                // 以下根路径和URL前缀需根据自己项目进行调整
                'root'    => __DIR__ . '/uploads/my_local',
                'baseUrl' => '/uploads/my_local'
            ])
            // 为本地存储空间添加一个资源目录(可添加多个)
            ->addResource('本地存储', '01', 'my_local')
            ->run();
    } catch (Exception$exception) {
        var_dump($exception->getMessage());
    }
    exit();
}
?>
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<div class="input-group">
    <input type="text" id="demo" name="demo" placeholder="demo">
    <span class="input-group-append input-group-btn add-on">
          <button type="button" class="btn btn-primary" onclick="selectFileWithCKFinder('demo');">
              选择
          </button>
    </span>
</div>
<script type="text/javascript" src="static/ckfinder.js"></script>
<script type="text/javascript">
    function selectFileWithCKFinder(elementId) {
        CKFinder.modal({
            displayFoldersPanel: false,
            //  readOnly: true,
            skin: 'neko',
            // skin: 'jquery-mobile',
            swatch: 'b',
            connectorPath: 'index.php',
            chooseFiles: true,
            width: 800,
            height: 600,
            lugins: [],
            onInit: function (finder) {
                finder.on('files:choose', function (evt) {
                    var file = evt.data.files.first();
                    var output = document.getElementById(elementId);
                    output.value = file.getUrl();
                });

                finder.on('file:choose:resizedImage', function (evt) {
                    var output = document.getElementById(elementId);
                    output.value = evt.data.resizedUrl;
                });
            }
        });
    }
</script>
</body>
</html>

修改文件:

  • core/cksource/ckfinder/src/CKSource/CKFinder/Command/CreateFolder.php

  • core/cksource/ckfinder/src/CKSource/CKFinder/Command/RenameFolder.php

  • core/cksource/ckfinder/src/CKSource/CKFinder/Command/RenameFile.php

  • core/cksource/ckfinder/src/CKSource/CKFinder/Command/FileUpload.php

  • core/cksource/ckfinder/src/CKSource/CKFinder/Filesystem/File/File.php

  • core/cksource/ckfinder/src/CKSource/CKFinder/Filesystem/File/UploadedFile.php