laravel 使用 switch cases 上传文件

laravel using switch cases to upload files

我如何上传不同文件夹中的输入文件我需要使用 switch case 使每个输入文件都在不同的文件夹中并执行此代码但是当我执行它时没有任何反应我想知道问题出在哪里

我的观点

{!! Form::file('file1', null,['class'=>'form-control']) !!}
{!! Form::file('file2', null,['class'=>'form-control']) !!}
{!! Form::file('file3', null,['class'=>'form-control']) !!}
{!! Form::file('file4', null,['class'=>'form-control']) !!}

我的控制器

$model = new Files($request->all());
        switch ($model) {
            case "file1":
                if ($request->hasFile('file1')) {
                    $file = $request->file('file1');
                    $destinationPath = public_path() . '/file1';
                    $filename = $file->getClientOriginalName();
                    $file->move($destinationPath, $filename);
                    $request['file1'] = $filename;
                    $model -> file1 = $filename;
                    $model->save();
                }
                break;
            case "file2":
                if ($request->hasFile('file2')) {
                    $file = $request->file('file2');
                    $destinationPath = public_path() . '/file2';
                    $filename = $file->getClientOriginalName();
                    $file->move($destinationPath, $filename);
                    $request['file2'] = $filename;
                    $model->file2 = $filename;
                    $model->save();
                }
                break;
                case "file3":
                if ($request->hasFile('file3')) {
                    $file = $request->file('file3');
                    $destinationPath = public_path() . '/file3';
                    $filename = $file->getClientOriginalName();
                    $file->move($destinationPath, $filename);
                    $request['file3'] = $filename;
                    $model->file3 = $filename;
                    $model->save();
                }
                    break;
            case "file4":
                if ($request->hasFile('file4')) {
                    $file = $request->file('file4');
                    $destinationPath = public_path() . '/file4';
                    $filename = $file->getClientOriginalName();
                    $file->move($destinationPath, $filename);
                    $request['file4'] = $filename;
                    $model->file4 = $filename;
                    $model->save();
                }
                break;
        }

嗯,是的,我曾做过类似的事情,但我是使用 foreach 循环,然后是 if

这是我的示例代码,希望对您有所帮助:-D

$requests = $request->all();
$model =  new File;
foreach ($requests as $key => $val) {
   if ($key == 'file1' && !empty($val)) {

       $destinationPath = public_path() . '/file1';
       $filename = $val->getClientOriginalName();
       $val->move($destinationPath, $filename);
       $model -> file1 = $filename;
       $model->save();
   }
   if ($key == 'file2' && !empty($val)) {

       $destinationPath = public_path() . '/file2';
       $filename = $val->getClientOriginalName();
       $val->move($destinationPath, $filename);
       $model -> file1 = $filename;
       $model->save();
   }
   // And do it again as much as you need :D
}

到此为止,希望对各位小伙伴有所帮助:D