获取上传文件的名称

时间:2018-11-08 15:48:40

标签: php laravel forms

我正在编写一个脚本来处理表格。目前,我没有数据库设置,因此我正在使用Session :: flash进行测试。

一切正常,但是我无法获取要保存的文件的名称,我需要将其保存在数据库中,然后为另一个用户创建一个下载链接。

我尝试了几种方法,但似乎无法使其正常工作。

public function AltComiss(Request $request)
    {

        $name1 = array( ($request->input('test')),
                        ($request->input('test1')), 
                        ($request->input('test2')), 
                        ($request->input('test3')), 
                        ($request->input('test4')) ); 

        for ($i=0; $i <= 10; $i++) { 

            if (($request->input('comiss'.$i)) !== null) {
            array_push($name1, ($request->input('comiss'.$i)));
            array_push($name1, ($request->input('desconto'.$i)));
        }

        }

        array_push($name1, ($request->input('test7')));

        Session::flash('allInput',$name1);

        if ($request->hasFile('file2')) {
            $file = $request->file('file2');
            $destinationPath = 'altComiss';

            $filename = 'AlteraComissao-' . time() . '.' . $file->getClientOriginalExtension();

            $file->storeAs($destinationPath, $filename);


            array_push($name1, $filename);

        }


        return redirect('alteracaocomissao');

    }

一切正常,所有输入都保存在Session上(以后将插入到DB中),并且文件确实上传到我想要的位置。但是我无法保存文件名,我将需要检索它。

谢谢!

2 个答案:

答案 0 :(得分:1)

您正在将$filename推入数组$name1。您似乎正在另一页上使用$name1,因为您正在将该数据刷新到会话中。

问题是您在按$filename之前将数据刷新到会话中。

$name1推入$filename或将$name1存储在其他位置后,将$filename刷新到会话。您似乎在其他任何地方都没有使用该变量。

答案 1 :(得分:1)

   $file = $request->file('file2')->getClientOriginalName();

您应该尝试使用这种方法来获取名称。最近遇到类似的问题。