CkFinder3.5.1 for PHP 优化版 (添加又拍云存储)
开源地址:
扩展安装:
方法一:composer命令 composer require itxq/ckfinder
方法二:直接下载压缩包,然后进入项目中执行 composer命令 composer update 来生成自动加载文件
引用扩展:
当你的项目不支持composer自动加载时,可以使用以下方式来引用该扩展包
// 引入扩展(具体路径请根据你的目录结构自行修改)
require_once __DIR__ . '/vendor/autoload.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();
}
?>
Document选择
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;
});
}
});
}
修改文件:
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