Файловий менеджер kcfinder
деталі підручника
Розмір архіву: 92 Mb

Поки що файловий менеджер нам не доступний і вставити картинку на сторінку можна, тільки вказавши її URL:

У моєму випадку підключення буде наступним:

Але на цьому наша робота поки не завершена. Якщо зараз спробувати клікнути на кнопку «Вибір на сервері», то відкриється порожнє вікно, під яким ховається ще одне віконце з повідомленням про те, що ми не можемо переглядати вміст сервера:

Тепер ми можемо переглядати вміст папки і закачувати в неї файли:

У розділі інтеграції на офсайте менеджера можна знайти і скористатися запропонованим рішенням. Отже, насамперед, необхідно закрити доступ до менеджера для всіх, пам'ятайте, ми відкрили його для всіх, прописавши в налаштуванні disabled значення false файлу config.php. Давайте ми повернемо значення за замовчуванням - true для цього параметра. Тепер менеджер закритий для всіх, в тому числі і для адміністратора.
Тепер давайте відкриємо його для адміністратора. У моєму випадку під адміністратора в сесії виділяється елемент admin ($ _SESSION [ 'admin']). Відповідно, досить перевірити чи є шуканий елемент в сесії. Якщо такий елемент буде, значить до менеджера звертається адміністратор, і ми створимо під нього в сесії спеціальний масив ($ _SESSION [ 'KCFINDER']), завдяки якому адміністратор матиме доступ до менеджера. Якщо ж звернення йде не від адміністратора, то рекомендую видалити з сесії масив $ _SESSION [ 'KCFINDER'].
Тепер доступ до менеджера буде відкритий виключно для адміністратора.
Це перший варіант, описаний на офсайті. Другий варіант полягає в обмеженні доступу безпосередньо до файлу browse.php. Для цього приберемо попереднє умова і знову відкриємо менеджер для всіх: 'disabled' => false.
Тепер звернемося до файлу browse.php і допишемо в нього на початку перевірку:
Власне, тут все ще простіше - якщо до файлу звертається не адміністратор, то просто переривається подальша робота з цим файлом.
Найсвіжіші новини IT і веб-розробки на нашому Telegram-каналі
А у мене при старті сесії в файлі browse.php видається помилка
A session had already been started - ignored session_start
Лається на те, що сесія запущена, але якщо я прибираю функцію session_start тоді вилазить помилка Undefined variable: _SESSION.
Виникає питання. Як бути в цьому випадки?
Вітаю! Підкажіть будь ласка, в чому може бути справа .... Працював у мене цей файловий менеджер завжди відмінно і на локалі і на хостингу. Вчора додав на хостингу в папку images нову папку. Після цього kcfinder перестав працювати. Натискаю кнопку вибір на сервері - в результаті відкривається білий екран і все, при цьому помилок ні в консолі, ні php ніяких немає.
Пробував видаляти цю папку, пробував заміняти на оригінальні файли (до того, як папку створив в images) - нічого не допомагає. Права доступу всюди 755. На Локаль цей же файловий менеджер з цими ж папками працює відмінно, а на хостингу немає.
Добрий день.
Якщо відкривається білий екран, значить швидше за все є помилка на стороні сервера. Спробуйте заглянути в файл логів сервера, якщо помилка є - вона там буде. Тоді стане зрозуміліше, як її виправити. Інший варіант - перевстановити KCFinder.
Спасибі Андрій, як завжди за миттєву відповідь! Перевірив помилки - як виявилося їх немає. Спробував зайти з іншого браузера - працює, а з цього браузера з якого я пробував до цього відкрити файловий менеджер - не працює. Значить браузер в утиль потрібно, або він глючить. Прочищення кук і іншого не допомогла.
Питання вирішене роботою через інший браузер.