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