CKFinder - папка не найдена при загрузке файлов на сервер - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь интегрировать 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&currentFolder=/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

...