使用JS限制响应式FileManager文件夹?

时间:2016-04-12 11:02:50

标签: javascript responsive-filemanager

我作为一个独立的(不是一般文本编辑器的一部分)广泛使用Responsive FileManager。我有时会在一个页面上多次调用它。但是,每次我希望它被限制在某个文件夹时 - 不仅如此,它默认为文件夹,但是用户根本无法导航到任何其他文件夹。

我发现在Responsive FileManager中限制文件夹的唯一方法是设置PHP sesssion变量:

$_SESSION['RF']['subfolder']

但是,这对于需要在同一页面上的不同文件夹是一个问题,并且通常它是不切实际的,因为限制应该特定于文件管理器调用,而不是像会话那样的特定于用户。此外,我不需要以安全的方式导航到其他文件夹是绝对不可能的,如果知道如何使用浏览器调试器的人在其他地方导航,那就没问题。我只是想阻止临时用户这样做。

有没有办法用JS配置选项,或其他一些每次调用而非每用户的方式?

他们的功能列表说:

  

您可以将子文件夹设置为根目录,并更改每个用户,页面或FileManager调用的配置。

但我无法在他们的文档中找到每次调用的文件夹限制。

1 个答案:

答案 0 :(得分:2)

这是一个简单的调整来实现这一目标。 Responisve filemanager调用了dialog.php,其中附加了一些类型的参数。我做的是:引入一个新的参数并在服务器端对其进行检查以动态设置上传路径。

考虑您的上传目录是 上传 您有 user1 user2 user3 作为子目录,那么,在这种情况下,我们将在调用 dialog.php <我们将传递的参数中动态设置 config.php 中的上传路径和当前路径/ strong>

在filemanager / config / config.php中 附加这些行

if( isset( $_GET['MY_UPLOAD_PATH']))
 {
   $config['upload_dir']   =  $config['upload_dir'] . $_GET['MY_UPLOAD_PATH']."/" ;
   $config['current_path'] =  $config['current_path'] . $_GET['MY_UPLOAD_PATH']."/" ;
}

在filemanager / dialog.php中 找到这一行        $ get_params = http_build_query($ get_params); 就在那一行之前添加

  if(isset($_GET['MY_UPLOAD_PATH'])){
     $get_params['MY_UPLOAD_PATH'] = $_GET['MY_UPLOAD_PATH'] ;
   }

现在更改变量

$ data ['file_explorer'] = base_url('assets / resources / filemanager / dialog.php?type = 0');

 $data['file_explorer'] = base_url('assets/resources/filemanager/dialog.php?type=0&MY_UPLOAD_PATH=user1');

只需更改MY_UPLOAD_PATH参数的值,dialog.php将仅显示该特定目录。