MihailDev / yii2-elfinder

Yii2 ElFinder
Other
171 stars 76 forks source link

Не могу настроить, получаю сплошные ошибки #47

Closed Lenald closed 8 years ago

Lenald commented 8 years ago

Доброго времени суток! Такая проблема. Решил поставить файловый менеджер на свой самописный сайт, но что-то видимо пошло не так...

.htaccess запрещает индексирование директорий, отдаёт 403 на запросы к файлам с расширением htaccess и html (из адресной строки), а дальше ЧПУ: RewriteEngine on Options +FollowSymlinks RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?q=$1 [QSA]

index.php делает session_start(), загружает настройки и route.php route.php парсит запрос и загружает нужную страницу из папки /modules. В случае запроса http://domain.com/filemanager он загружает /modules/filemanager.html, который в свою очередь загружает шапку (/modules/head.html), размещает div id="elfinder", и в конце загружает подвал.

Все файлы файлового менеджера лежат по адресу /modules/filemanager/

Внутри тегов head подключается всё, что нужно, используя абсолютные пути.

Фрагменты $opts['roots'] из \modules\filemanager\php\connector.minimal.php: 'path' => $_SERVER['HTTP_HOST'], 'URL' => 'http://'.$_SERVER['HTTP_HOST'].'/' Пробовал и прямо прописать адрес адрес сайта, и $_SERVER['DOCUMENT_ROOT'], и dirname($_SERVER['PHP_SELF']), но всё равно получаю ошибку "Ошибка Некорректный ответ сервера. Данные не формате JSON.", либо про то, что нет файлов и директорий, доступных для чтения.

Очень-очень прошу сказать, где что подправить, чтобы заработало, ибо файловый менеджер нравится! (работал с ним на хостингере)

Спасибо за уделённое время!

MihailDev commented 8 years ago

вы немного ошиблись! данное приложение рассчитано на интеграцию с yii2 пиложением вам нужен базовый пакет https://github.com/Studio-42/elFinder/tree/2.1.5 https://github.com/Studio-42/elFinder/wiki

в 2 словах по работе с elFinder он делится на 2 части 1) страница со скриптами 2) это страница обработчик данных

то есть вам надо в своём модуле иметь 2 файла /modules/filemanager.html (он у вас уже есть) подключает все необходимые скрипты стили и тд и /modules/filemanager-connect.html (допустим) куда скрипты из /modules/filemanager.html будут слать запросы

теперь по настройке фаил /modules/filemanager.html тут надо указать ссылку на /modules/filemanager-connect.html ну примерно должно быть что то типа (док. https://github.com/Studio-42/elFinder/wiki/Client-configuration-options)

var options = {
    url  : '/modules/filemanager-connect.html',
    lang : 'ru'
}
$('#elfinder').elfinder(options);

фаил /modules/filemanager-connect.html можно скопировать из файла connector.minimal.php

далее по настойкам (док. https://github.com/Studio-42/elFinder/wiki/Connector-configuration-options) в поле 'path' должен быть указан полный путь на папку в поле 'URL' должен быть указана ссылка на ту-же папку

$opts = array(
    'roots' => array(
        array(
                        'driver' => 'LocalFileSystem',
                        'path'   => '/path/to/files/',
                        'URL'    => 'http://localhost/to/files/'
        )
    )
);