如何在laravel

时间:2017-05-21 19:50:33

标签: php laravel-5

我有一个控制器,可以为任何注册了laravel应用程序的用户生成一个文件夹。但是,我还尝试将文件夹添加到存储中的用户目录中。例如,如果用户注册,他们在目录文件夹中有图像,文件,联系人等。我将如何在Laravel 5.4中执行此操作?

2 个答案:

答案 0 :(得分:0)

最好的方法是在创建新注册用户后调用函数(主要在User::create([..]);行之后)。在函数中,您可以调用

Storage::makeDirectory("path/to/your/dir/".$user->name);

创建想要的目录。如果要在新创建的文件夹中添加图像目录,请再次使用相同的方法。

Storage::makeDirectory("path/to/your/dir/".$user->name."/img");

当你想添加很多子文件夹时,请找一个包含文件夹字符串和foreach循环的数组。

$folders = ["/img","/files","/somethingElse"];
foreach($folders as $folder){
    Storage::makeDirectory("path/to/your/dir/" . $user->name . $folder);
}

答案 1 :(得分:-1)

使用带有数组映射的foreach循环可以解决这个问题。我现在将所有当前文件夹都存储在用户目录中。以下是代码示例:

$folders = ['images', 'files', 'contacts'];

    foreach ($folders as $folder)
    {
        Storage::disk('public')->makeDirectory($data['name'] . '/' . $folder);
    }