Laravel:上传文件时如何在公共路径中动态创建文件夹?

Kun*_*sir 3 php directory file laravel eloquent

我创建了一个函数,它将文件路径存储在数据库中并将文件存储在 public/uploads/release 文件夹中。这是我的控制器:

$reference = $request->get('reference');
    $uploads = array();
    if($files = $request->file('uploads'))
    {  
    foreach ($files as $file) {
        $name = $file->getClientOriginalName();
        $file->move('uploads/release', $name);
        $uploads[] = $name;
    }
Run Code Online (Sandbox Code Playgroud)

这里我将文件存储在 public/uploads/release 文件夹中,但现在我想在每次上传文件时动态创建一个文件夹,并且该文件夹必须是 $reference 变量的值。例如:参考号是“ABC123”。然后该文件必须自动存储在 public/uploads/release/ABC123 文件夹中。

Tir*_*asi 5

您可以在 laravel 中使用文件类

use Illuminate\Support\Facades\File;

$path = public_path().'/uploads/release/'.$request->get('reference');
if (! File::exists($path)) {
    File::makeDirectory($path);
}
Run Code Online (Sandbox Code Playgroud)