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

Javascript 使用JS限制响应型FileManager文件夹?,javascript,responsive-filemanager,Javascript,Responsive Filemanager,我广泛地使用响应式FileManager作为一个独立的文件管理器(不是通用文本编辑器的一部分)。我有时在一页上多次调用它。但是,每次我都希望它被限制在某个文件夹中,这不仅是因为它默认为一个文件夹,而且是因为用户根本无法导航到任何其他文件夹 我发现,在Responsive FileManager中限制文件夹的唯一方法是设置PHP session变量: $\u会话['RF']['subfolder'] 但是,对于需要位于同一页面上的不同文件夹来说,这是一个问题,通常来说,这是不切实际的,因为限制应该

我广泛地使用响应式FileManager作为一个独立的文件管理器(不是通用文本编辑器的一部分)。我有时在一页上多次调用它。但是,每次我都希望它被限制在某个文件夹中,这不仅是因为它默认为一个文件夹,而且是因为用户根本无法导航到任何其他文件夹

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

$\u会话['RF']['subfolder']

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

是否有任何方法可以通过JS配置选项或其他每次调用而不是每次用户的方式来实现这一点

他们的专题列表上写着:

您可以将子文件夹设置为根文件夹,并更改每个用户、页面或文件管理器调用的配置


但是我在他们的文档中找不到每次呼叫文件夹限制。

这里有一个简单的调整来实现这一点。 Responisve filemanager调用dialog.php并附加一些参数,如type。我所做的是:引入一个新参数,并在服务器端对此进行检查,以动态设置上传路径

考虑您的上传目录为上传 您有user1user2user3作为子目录,因此,在这种情况下,我们将根据调用dialog.php时传递的参数动态设置config.php中的上载路径和当前路径

在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\u params=http\u build\u query($get\u params) 在这行之前加上

  if(isset($_GET['MY_UPLOAD_PATH'])){
     $get_params['MY_UPLOAD_PATH'] = $_GET['MY_UPLOAD_PATH'] ;
   }
现在更改变量

$data['file\u explorer']=base\u url('assets/resources/filemanager/dialog.php?type=0')


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

虽然我并不热衷于修改应用程序,但考虑到它可能导致的未来更新问题,这似乎是一个足够简单的解决方案,我可能会直接使用它。谢谢@Ynhockey是的,这是一个快速解决方案,您还可以通过在用户id关系中管理会话日志的目录名使其更加安全,这样您就可以从会话数据控制它,而不是在get请求中传递参数
 $data['file_explorer'] = base_url('assets/resources/filemanager/dialog.php?type=0&MY_UPLOAD_PATH=user1');