Laravel获取文件名

时间:2016-05-11 11:38:29

标签: php file laravel laravel-5.1

我基本上只想得到一个我得到的文件的名称:

$inputPdf = $request->file('input_pdf');

如果我dd($inputPdf)它会打印我null

3 个答案:

答案 0 :(得分:30)

  1. 获取文件名,如文档中所述:
  2.   

    您可以使用文件方法访问Illuminate \ Http \ Request实例附带的上传文件。文件方法返回的对象是Symfony \ Component \ HttpFoundation \ File \ UploadedFile类的一个实例,它扩展了PHP SplFileInfo类,并提供了各种与文件交互的方法

         

    UploadedFile实例上有许多其他方法可用。有关这些方法的详细信息,请查看API documentation for the class

    所以你可以使用这个方法:getClientOriginalName()

    http://api.symfony.com/3.0/Symfony/Component/HttpFoundation/File/UploadedFile.html#method_getClientOriginalName

    $request->file('input_pdf')->getClientOriginalName();
    

    将返回文件名。

    您可以在调用任何方法之前检查文件是否存在:

    if ($request->hasFile('input_pdf')) {
        return $request->file('input_pdf')->getClientOriginalName();
    } else {
        return 'no file!'
    }
    
    1. 要解决dd($request->file('input_pdf'))返回null的问题,请检查您是否使用了正确的文件名。您可以尝试dd($request),然后您会看到其中是否有任何文件。您可以在查看Request对象的转储时检查文件名。

答案 1 :(得分:3)

$request->file->getClientOriginalName();

Check this了解更多方法。

答案 2 :(得分:1)

我想你忘了添加

enctype="multipart/form-data"

在你的表格中。或者,如果您使用laravel HTML服务提供商

{!! Form::open(array('files' => true)) !!}