我想使用我的$_SESSION
并在用户的功能中显示一个文件夹。
我尝试利用Elfinder的系统,但我需要一些帮助。
我自己的网页
<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 上找到
请记住,会话变量仅在连接器 PHP 顶部的任何输出之前有 session_start((; 时才有效。 然后,你的想法是对的,但我会做一个更好的实现。假设您存储了"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/',
做。