检索上传的文件
您可以使用 file 方法或使用动态属性从 Illuminate\Http\Request 实例访问上传的文件。 file 方法返回一个 Illuminate\Http\UploadedFile 类的实例,它扩展了 PHP SplFileInfo 类,并提供了多种与文件交互的方法:
$file = $request->file('photo');
$file = $request->photo;
您可以使用 hasFile 方法确定请求中是否存在文件:
if ($request->hasFile('photo')) {
//
}
验证成功上传
除了检查文件是否存在,您还可以通过 isValid 方法验证上传文件没有问题:
if ($request->file('photo')->isValid()) {
//
}
文件路径和扩展名
UploadedFile 类还包含用于访问文件的完全限定路径及其扩展名的方法。 extension 方法将尝试根据文件的内容猜测文件的扩展名。此扩展可能与客户端提供的扩展不同:
$path = $request->photo->path();
$extension = $request->photo->extension();
获取文件名
$filename= $request->photo->getClientOriginalName();
参考:https://laravel.com/docs/5.3/requests
例子
$file = $request->file('photo');
//File Name
$file->getClientOriginalName();
//Display File Extension
$file->getClientOriginalExtension();
//Display File Real Path
$file->getRealPath();
//Display File Size
$file->getSize();
//Display File Mime Type
$file->getMimeType();
//Move Uploaded File
$destinationPath = 'uploads';
$file->move($destinationPath,$file->getClientOriginalName());