Elfinder несколько пользователей

Я хотел бы использовать свой $_SESSION и показать папку в функции пользователя.

Я пытаюсь использовать систему Elfinder, но мне нужна помощь.

Мой собственный html

<div class="form-group col-md-12">
            <label for="client_infobanque">Ajouter un fichier</label>
            <a href="../Include/elFinder/elfinder.src.html" target="_blank">Lien vers les fichiers liés à mon client</a>
          </div>

коннектор.минимальный.php

$opts = array(
    // 'debug' => true,
    'roots' => array(
        // Items volume
        array(
            'driver'        => 'LocalFileSystem',           // driver for accessing file system (REQUIRED)
            'path'          => '../files/'.$_SESSION['Contact_id'],  // path to files (REQUIRED)
            'URL'           => dirname($_SERVER['PHP_SELF']) . '/../files/'.$_SESSION['Contact_id'], // URL to files (REQUIRED)
            'trashHash'     => 't1_Lw',                     // elFinder's hash of trash folder

Спасибо за аванс ребята. PS: я использую последнюю версию Elfinder, которую можно найти на https://github.com/Studio-42/elFinder


person Zarkoffe    schedule 21.08.2019    source источник


Ответы (1)


Помните, что переменные сеанса работают, только если у вас есть session_start(); перед любым выводом в верхней части вашего коннектора PHP. Тогда ваша идея верна, но я бы сделал лучшую реализацию. Предполагая, что вы сохранили свой contact_id, что-то вроде имени пользователя, и это то же имя папки, которую вы подготовили внутри /files/. Например, /files/pippo/ — это папка пользователя pippo. Кроме того, вам нужен суперадмин, который контролирует все внутри /files/, назовите это богом, в верхней части коннектора вы помещаете этот код:

<?php
session_start();

if( $_SESSION['contact_id'] == 'god' ){
  $userpath = '../files/';
} else if( $_SESSION['contact_id'] != 'god' ) {
  $userpath = '../files/'. $_SESSION['contact_id'] . '/';
} else {
  die("Forbidden Access!"); 
}

Затем вы изменяете пути с помощью новой переменной $userpath, так что...

'path'          => $userpath,
'URL'           => dirname($_SERVER['PHP_SELF']) . '/' . $userpath,

Затем папка для мусора внутри любой пользовательской папки тоже...

'path'          => $userpath . '.trash/',
'tmbURL'        => dirname($_SERVER['PHP_SELF']) . '/' . $userpath . '.trash/.tmb/',

Сделанный.

person zod    schedule 27.11.2020