2015-11-20 3 views
0

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

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

Я имею следующую информацию в файле 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', 
); 
+3

Что значит «не работает» означает? Пожалуйста, дополните. –

ответ

1

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

+0

Не работает означает, что файлы загружаются в папку root/images по сравнению с папкой имени пользователя. Когда я использую $ USERNAME в настройке baseURL, файлы загружаются в/ckfinder/userfiles/$ USERNAME/$ USERNAME/ –

+0

, оставляют ваш текущий код – user5542121

+0

Код находится в исходной публикации темы. –

0

Я решил это путем ввода в 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/'; 
}