php - CKFinder - 在服务器上上传文件时找不到文件夹
问题描述
我正在尝试在我的 Codeigniter 项目中将 CKFinder(v.3) 与 CKEditor(v.4) 集成,但是当我尝试将文件上传到服务器时出现错误“找不到文件夹”。我用谷歌搜索了这个问题并尝试了以下各种解决方案,但没有一个奏效:
1) 将所有用户的 ckfinder 文件夹权限更改为 FULL
2) 将所有用户的 data-content/page_assets 文件夹的权限更改为 FULL
3)在config.php中设置baseURL路径为“ http://localhost:8080/project/cms/js/ckfinder/userfiles/ ”
以下是我的视图文件中的编辑器设置
// filebrowserBrowseUrl & filebrowserUploadUrl will be different for each module but the base will
// same 'data-content'
CKEDITOR.replace( 'page_content', {
filebrowserBrowseUrl: '<?php echo base_url()?>js/ckfinder/ckfinder.html?Type=Images&rlf=0&start=Images:/project/data-content/page_assets/',
filebrowserUploadUrl: '<?php echo base_url()?>js/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images¤tFolder=/project/data-content/page_assets/',
filebrowserWindowWidth: '1000',
filebrowserWindowHeight: '700'
});
下面是 CKFinder 中的 config.php。仅列出我在此文件中更改的内容
$config['authentication'] = function () {
return true;
};
$config['backends'][] = array(
'name' => 'default',
'adapter' => 'local',
//'baseUrl' => '/ckfinder/userfiles/',
'baseUrl' => 'http://localhost:8080/project/cms/js/ckfinder/userfiles/',
// 'root' => '', // Can be used to explicitly set the CKFinder user files directory.
'chmodFiles' => 0777,
'chmodFolders' => 0755,
'filesystemEncoding' => 'UTF-8',
);
$config['overwriteOnUpload'] = false;
$config['checkDoubleExtension'] = true;
$config['disallowUnsafeCharacters'] = true;
$config['secureImageUploads'] = true;
$config['checkSizeAfterScaling'] = true;
$config['htmlExtensions'] = array('html', 'htm', 'xml', 'js');
$config['hideFolders'] = array('.*', 'CVS', '__thumbs');
$config['hideFiles'] = array('.*');
$config['forceAscii'] = false;
$config['xSendfile'] = false;
// https://ckeditor.com/docs/ckfinder/ckfinder3-php/configuration.html#configuration_options_debug
$config['debug'] = true;
详细错误,调试后
Fatal error: Uncaught CKSource\CKFinder\Exception\FolderNotFoundException: Folder not found in C:\xampp\htdocs\project\cms\js\ckfinder\core\connector\php\vendor\cksource\ckfinder\src\CKSource\CKFinder\Filesystem\Folder\WorkingFolder.php:144
这些是来自 WorkingFolder.php 文件的相关代码块
// Check if resource type folder exists - if not then create it
$currentCommand = (string) $request->query->get('command');
$omitForCommands = array('Thumbnail');
// DEBUGGING the value of EACH PROPERTY
// clientCurrentFolder => /noveltech/data-content/page_assets/
// $currentCommand => QuickUpload
// $resourceTypeDirectory => images
// $this->path => images/noveltech/data-content/page_assets/
if (!in_array($currentCommand, $omitForCommands) && !empty($resourceTypeDirectory) && !$backend->hasDirectory($this->path))
{
if ($this->clientCurrentFolder === '/') {
@$backend->createDir($resourceTypeDirectory);
if (!$backend->hasDirectory($resourceTypeDirectory))
{
throw new AccessDeniedException("Couldn't create resource type directory. Please check permissions.");
}
}
else {
throw new FolderNotFoundException(); // THIS IS LINE NO. 144
}
}
我的开发环境是 XAMPP。
有人可以帮我集成CKFinder吗?
非常问候,
贾维德
解决方案
推荐阅读
- python - 在具有离散颜色条的轮廓图中使用“扩展”不起作用
- sql - Oracle SQL:如何连接文本直到达到最大大小
- windows - 有没有办法在 Windows 终端的不同选项卡中运行多个 powershell 脚本?
- firebase-remote-config - 如果用户过去触发了激活事件,他们是否会进入 A/B 测试?
- google-cloud-platform - BigQuery 错误 - 标量子查询产生了多个元素
- python - 异步调用中的 Prometheus 计数器
- flutter - onPressed 与多条件颤动
- python - 如何选择两组中的前 N 个并将第二组的其余部分聚合到 Pandas 的“其他”中?
- spring-boot - 在 Groovy 中使用 ElasticSearch 的 Spring Boot:WebClient 不存在异常
- html - CSS - 在列中显示项目