Я пытаюсь интегрировать CKFinder (v.3) с CKEditor (v.4) в мой проект Codeigniter, но получаю сообщение об ошибке «Папка не найдена» при попытке загрузить файл на сервер. Я нашел эту проблему и попробовал различные решения, как показано ниже, но ни одно из них не сработало:
1) Изменение разрешения для папки ckfinder на FULL для всех пользователей
2) Изменение разрешения для data-content / page_assets папка на FULL для всех пользователей
3) Установите путь baseURL в конфигурации. php на "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'
});
Ниже приведены настройки. php в CKFinder. Перечисление только того, что я изменил в этом файле
$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 file
// 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?
С уважением,
Javed