CKFinder / CKEditor

Я использую CKFinder для загрузки файлов на мой сайт, где у всех моих пользователей должна быть своя собственная папка, в которой хранятся их собственные файлы.

Мой желаемый результат заключается в том, что папка для загруженных пользовательских файлов будет ckfinder / userfiles / $ USERNAME

У меня есть следующая информация в файле config.php CKFinder, которая просто не работает для меня.

Помощь очень ценится и нужна.

$docRoot = getenv("DOCUMENT_ROOT");
$siteName = $_SERVER['HTTP_HOST'];
$USERNAME = $_SESSION['thisusername']; // session via main page username value
$baseUrl = 'http://' . $siteName . '/ckfinder/userfiles/';
$baseDir =  $docRoot . '/ckfinder/userfiles/';

/*=================================== Backends    =====*/
$config['backends'][] = array(
'name'         => 'default',
'adapter'      => 'local',
'baseUrl'      => "/ckfinder/userfiles/",
'root'         => $baseDir,
'chmodFiles'   => 0777,
'chmodFolders' => 0755,
'filesystemEncoding' => 'UTF-8',
);

0

Решение

Вы должны использовать переменную $USERNAMEгде-то, иначе ничего не произойдет само по себе. Более вероятный: 'baseUrl' => "/ckfinder/userfiles/" . $USERNAME ."/",

1

Другие решения

Я решил это, поместив в config.php следующее:

$USERNAME = $_SESSION['thisusername'];
if ($USERNAME){
$baseUrl = 'http://www.myurl.org/ckfinder/userfiles/' . $USERNAME . '/';
$baseDir =  $docRoot . '/ckfinder/userfiles/' . $USERNAME . '/';
}else{
$baseUrl = 'http://www.myurl.org/images/';
$baseDir =  $docRoot . '/images/';
}
0