如何在Laravel应用商店中创建子文件夹

如何在Laravel应用商店中创建子文件夹,laravel,storage,Laravel,Storage,我想在存储中创建一个子文件夹,如 /存储/app/public/user\u文件夹 有人知道如何使用适当的权限进行操作吗?您的问题有点模糊,但我假设您希望以编程方式进行操作,可能是从控制器内部进行操作 因此,让我们利用Laravel的文件系统类来帮助我们做到这一点 在控制器的顶部,让我们像这样引入它:use-illumb\Filesystem\Filesystem 现在我们可以实例化它了$file=新文件系统()。我可以这样做: $file = new Filesystem();

我想在存储中创建一个子文件夹,如 /存储/app/public/user\u文件夹


有人知道如何使用适当的权限进行操作吗?

您的问题有点模糊,但我假设您希望以编程方式进行操作,可能是从控制器内部进行操作

因此,让我们利用Laravel的
文件系统
类来帮助我们做到这一点

在控制器的顶部,让我们像这样引入它:
use-illumb\Filesystem\Filesystem

现在我们可以实例化它了<代码>$file=新文件系统()。我可以这样做:

    $file = new Filesystem();
    $username = 'userNameGoesHere';
    $directory = 'directory/goes/here/' . $username;
    if ( $file->isDirectory(storage_path($directory)) )
    {
        return 'Directory already exists';
    }
    else
    {
        $file->makeDirectory(storage_path($directory), 755, true, true);
        return 'Directory has been created!';
    }
现在,让我们来分析一下我们刚才所做的。首先,我们检查目录是否存在。我认为这样做是一种很好的做法。如果没有,那么我们就创建它

让我们分析一下
makeDirectory()
的参数是什么。首先是系统文件路径。我们利用Laravel提供的
storage\u path()
helper将我们指向存储目录。然后我们传入目录。第二个参数是该目录的chmod权限。默认情况下,它设置为
493
。第三,我们将目录创建设置为递归,这意味着它将创建路径中的每个目录。递归的默认值是
false
。最后一个参数告诉目录创建强制它。如果您没有检查目录是否存在,并且在未将其设置为
true
的情况下尝试创建它,Laravel将抛出一个异常,抱怨目录已经存在。如果设置为true,Laravel将重新创建目录

您可以阅读有关文件系统类的更多信息


我希望这能有所帮助。

您的问题有点含糊不清,但我假设您希望以编程方式执行此操作,可能是从控制器内部

因此,让我们利用Laravel的
文件系统
类来帮助我们做到这一点

在控制器的顶部,让我们像这样引入它:
use-illumb\Filesystem\Filesystem

现在我们可以实例化它了<代码>$file=新文件系统()。我可以这样做:

    $file = new Filesystem();
    $username = 'userNameGoesHere';
    $directory = 'directory/goes/here/' . $username;
    if ( $file->isDirectory(storage_path($directory)) )
    {
        return 'Directory already exists';
    }
    else
    {
        $file->makeDirectory(storage_path($directory), 755, true, true);
        return 'Directory has been created!';
    }
现在,让我们来分析一下我们刚才所做的。首先,我们检查目录是否存在。我认为这样做是一种很好的做法。如果没有,那么我们就创建它

让我们分析一下
makeDirectory()
的参数是什么。首先是系统文件路径。我们利用Laravel提供的
storage\u path()
helper将我们指向存储目录。然后我们传入目录。第二个参数是该目录的chmod权限。默认情况下,它设置为
493
。第三,我们将目录创建设置为递归,这意味着它将创建路径中的每个目录。递归的默认值是
false
。最后一个参数告诉目录创建强制它。如果您没有检查目录是否存在,并且在未将其设置为
true
的情况下尝试创建它,Laravel将抛出一个异常,抱怨目录已经存在。如果设置为true,Laravel将重新创建目录

您可以阅读有关文件系统类的更多信息


我希望这能有所帮助。

最简单的方法就是简单地使用
mkdir
。假设775是您的适当权限:


mkdir(存储路径('app/public/user\u folder'),0775)
最简单的方法就是简单地使用
mkdir
。假设775是您的适当权限:


mkdir(存储路径('app/public/user\u folder'),0775)

谢谢,是的,我需要775权限:)这也有效谢谢,是的,我需要775权限:)这也有效很高兴我能帮上忙。很高兴我能帮上忙。