Laravel 获取文件名

新手上路,请多包涵

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

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

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

原文由 John Does Legacy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 647
1 个回答
  1. 要获取文件名,如文档中所述:

您可以使用 file 方法访问 Illuminate\Http\Request 实例中包含的上传文件。 file方法返回的对象是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();

将返回文件名。

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

 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 对象的转储时检查文件名。

原文由 haakym 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题