我正在尝试使用 kcfinder 作为 Ckeditor 的插件上传照片。配置 kcfinder 时,我使用此配置:
CKEDITOR.editorConfig = function(config) {
config.filebrowserBrowseUrl = '../../../../assets/kcfinder/browse.php?type=files';
config.filebrowserImageBrowseUrl = 'assets/kcfinder/browse.php?type=images';
config.filebrowserFlashBrowseUrl = 'assets/kcfinder/browse.php?type=flash';
config.filebrowserUploadUrl = '../../../../assets/kcfinder/upload.php?type=files';
config.filebrowserImageUploadUrl = '../../../../assets/kcfinder/upload.php?type=images';
config.filebrowserFlashUploadUrl = 'assets/kcfinder/upload.php?type=flash';
};
上传已打开,我的 kcfinder 配置.php具有:
'uploadURL' => "/uploads/img/posts/".$post->id ,
'uploadDir' => "/home/ytsejam/public_html/remake/public/uploads/img/posts/".$post->id,
'dirPerms' => 0755,
'filePerms' => 0644,
'access' => array(
'files' => array(
'upload' => true,
'delete' => true,
'copy' => true,
'move' => true,
'rename' => true
),
'dirs' => array(
'create' => true,
'delete' => true,
'rename' => true
)
),
KCfinder有一个上传器.php
上传文件夹初始化
// FULL URLid
if (preg_match('/^([a-z]+)':'/'/([^'/^':]+)(':('d+))?'/(.+)'/?$/',
$this->config['uploadURL'], $patt)
) {
list($unused, $protocol, $domain, $unused, $port, $path) = $patt;
$path = path::normalize($path);
$this->config['uploadURL'] = "$protocol://$domain" . (strlen($port) ? ":$port" : "") . "/$path";
$this->config['uploadDir'] = strlen($this->config['uploadDir'])
? path::normalize($this->config['uploadDir'])
: path::url2fullPath("/$path");
$this->typeDir = "{$this->config['uploadDir']}/{$this->type}";
$this->typeURL = "{$this->config['uploadURL']}/{$this->type}";
// SITE ROOT
} elseif ($this->config['uploadURL'] == "/") {
$this->config['uploadDir'] = strlen($this->config['uploadDir'])
? path::normalize($this->config['uploadDir'])
: path::normalize($_SERVER['DOCUMENT_ROOT']);
$this->typeDir = "{$this->config['uploadDir']}/{$this->type}";
$this->typeURL = "/{$this->type}";
// ABSOLUTE & RELATIVE
} else {
$this->config['uploadURL'] = (substr($this->config['uploadURL'], 0, 1) === "/")
? path::normalize($this->config['uploadURL'])
: path::rel2abs_url($this->config['uploadURL']);
$this->config['uploadDir'] = strlen($this->config['uploadDir'])
? path::normalize($this->config['uploadDir'])
: path::url2fullPath($this->config['uploadURL']);
$this->typeDir = "{$this->config['uploadDir']}/{$this->type}";
$this->typeURL = "{$this->config['uploadURL']}/{$this->type}";
}
if (!is_dir($this->config['uploadDir']))
@mkdir($this->config['uploadDir'], $this->config['dirPerms']);
我如何更正我的上传文件夹,添加帖子 ID 号,例如: "/public/uploads/img/posts/$post->id"
谢谢你的回答
只需将 js 文件放在您的公共路径中并包含在您的标记中即可。 然后,只需一个简单的 js 调用即可激活编辑器:
<textarea name="content" id="content"></textarea>
<script type="text/javascript" src="<?= url('js/admin/ckeditor/ckeditor.js') ?>"></script>
<script>CKEDITOR.replace('content');</script>
如果您正在寻找一种将浏览服务器按钮功能与您可能已经实现的数字资产管理集成的方法,只需找到 Filebrowser 插件并制作一些适合您需求的模组即可。
希望这有帮助!