Laravel获取文件名

Joh*_*acy 16 php file laravel laravel-5.1

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

$inputPdf = $request->file('input_pdf');
Run Code Online (Sandbox Code Playgroud)

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

haa*_*kym 42

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

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

UploadedFile实例上有许多其他方法可用.有关这些方法的更多信息,请查看该类API文档.

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

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

$request->file('input_pdf')->getClientOriginalName();
Run Code Online (Sandbox Code Playgroud)

将返回文件名.

您可以在调用该文件之前检查该文件是否存在之前执行此操作:

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


Exo*_*osh 6

$request->file->getClientOriginalName();
Run Code Online (Sandbox Code Playgroud)

检查这个以获取更多方法。