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


我创建了一个函数,它将文件路径存储在数据库中并将文件存储在 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;

    }

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


有只小跳蛙
浏览 135回答 2
2回答

DIEA

您可以在 laravel 中使用文件类use Illuminate\Support\Facades\File;$path = public_path().'/uploads/release/'.$request->get('reference');if (! File::exists($path)) {    File::makeDirectory($path);}

慕村9548890

Storage::makeDirectory(public_path('uploads/release/'.$reference));https://laravel.com/docs/7.x/filesystem#directories或者你也可以这样做$file->move(public_path('uploads/release/'.$reference), $name);
打开App,查看更多内容
随时随地看视频慕课网APP