Laravel 文件管理器动态 base_directory

Laravel file manager Dynamic base_directory

我使用 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 中创建了文件夹,我在我的机器上的任何地方都找不到。

我们将不胜感激。

提前致谢。

我遇到了同样的问题。我设法通过修改函数 userField 本身来修复它:

public function userField()
{
    $role = function_to_get_role();

    if($role == 'Admin'){
        return 'folder_1';
    }else{
        return 'folder_1/' . auth()->user()->name;          
    }
}

我也尝试修改 baseDirectory 函数,但没有成功。