Я использую 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',
);
Вы должны использовать переменную $USERNAME
где-то, иначе ничего не произойдет само по себе. Более вероятный: 'baseUrl' => "/ckfinder/userfiles/" . $USERNAME ."/",
Я решил это, поместив в 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/';
}