如何使用Laravel的Request对象使用以下PHP $ _FILES? (我使用的是Laravel 5.3)
$_FILES["FileInput"]
$_FILES["FileInput"]["size"]
$_FILES['FileInput']['type']
$_FILES['FileInput']['name']
$_FILES['FileInput']['tmp_name']
任何人都有这样的想法,之前会非常感激。谢谢!
答案 0 :(得分:12)
检索上传的文件
您可以使用文件方法或使用动态属性从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类还包含用于访问文件的完全限定路径及其扩展名的方法。扩展方法将尝试根据文件的内容猜测文件的扩展名。此扩展可能与客户端提供的扩展不同:
$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());