Javascript 使用JS限制响应型FileManager文件夹?
我广泛地使用响应式FileManager作为一个独立的文件管理器(不是通用文本编辑器的一部分)。我有时在一页上多次调用它。但是,每次我都希望它被限制在某个文件夹中,这不仅是因为它默认为一个文件夹,而且是因为用户根本无法导航到任何其他文件夹 我发现,在Responsive FileManager中限制文件夹的唯一方法是设置PHP session变量:Javascript 使用JS限制响应型FileManager文件夹?,javascript,responsive-filemanager,Javascript,Responsive Filemanager,我广泛地使用响应式FileManager作为一个独立的文件管理器(不是通用文本编辑器的一部分)。我有时在一页上多次调用它。但是,每次我都希望它被限制在某个文件夹中,这不仅是因为它默认为一个文件夹,而且是因为用户根本无法导航到任何其他文件夹 我发现,在Responsive FileManager中限制文件夹的唯一方法是设置PHP session变量: $\u会话['RF']['subfolder'] 但是,对于需要位于同一页面上的不同文件夹来说,这是一个问题,通常来说,这是不切实际的,因为限制应该
$\u会话['RF']['subfolder']
但是,对于需要位于同一页面上的不同文件夹来说,这是一个问题,通常来说,这是不切实际的,因为限制应该特定于文件管理器调用,而不是特定于用户的会话。另外,我不需要绝对不可能以安全的方式导航到其他文件夹,如果知道如何使用浏览器调试器的人导航到其他地方也没关系。我只是想防止临时用户这样做
是否有任何方法可以通过JS配置选项或其他每次调用而不是每次用户的方式来实现这一点
他们的专题列表上写着:
您可以将子文件夹设置为根文件夹,并更改每个用户、页面或文件管理器调用的配置
但是我在他们的文档中找不到每次呼叫文件夹限制。这里有一个简单的调整来实现这一点。 Responisve filemanager调用dialog.php并附加一些参数,如type。我所做的是:引入一个新参数,并在服务器端对此进行检查,以动态设置上传路径 考虑您的上传目录为上传 您有user1、user2、user3作为子目录,因此,在这种情况下,我们将根据调用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');