我使用unisharp的 laravel文件管理器。它很有效,我爱它的灵活性。
但是,我需要用户将他们的文件存储在各自的文件夹中。我可以通过更改conf文件中的user_field
来完成此操作。
我无法做的是让超级管理员访问,以便他可以看到所有其他用户的文件!
我差点放弃试图解决这个问题。
这是我到目前为止所尝试的内容:
在config / lfm.php
中'base_directory'=>Unisharp\Laravelfilemanager\Handlers\ConfigHandler::class`,
在处理程序中:
namespace Unisharp\Laravelfilemanager\Handlers;
class ConfigHandler
{
public function userField()
{
return auth()->user()->name;
}
public function baseDirectory(){
if(auth()->user()->user_type !== "S"){
return 'storage/'.auth()->user()->name;
}
else{
return 'storage/';
}
}
}
但是上面的代码显示了一个空白页面,它在Abyss中创建了我无法在我的机器上找到的文件夹。
任何帮助都会得到满足。
提前致谢。
答案 0 :(得分:6)
我遇到了同样的问题。我设法修复它修改函数userField本身:
public function userField()
{
$role = function_to_get_role();
if($role == 'Admin'){
return 'folder_1';
}else{
return 'folder_1/' . auth()->user()->name;
}
}
我也尝试修改baseDirectory函数,但没有成功。