上传文件

$file = $request->file('photo');
$file = $request->photo;

// 使用 hasFile 方法判断文件在请求中是否存在
if ($request->hasFile('photo')) {

}

// 使用 isValid 方法判断文件在上传过程中是否出错
if ($request->file('photo')->isValid()){

}

// 获取文件绝对路径
$path = $request->photo->path();

// 获取上传文件的文件名,带后缀
$filename = $file->getClientOriginalName();

// 获取缓存在tmp目录下的文件名,带后缀
$filaname = $file->getFilename();

// 获取上传的文件缓存在tmp文件夹下的绝对路径
$realpath = $file->getRealPath();

// 获取文件后缀名
$extension = $request->photo->extension();
$file_extension = $file->getClientOriginalExtension();

// 获取上传文件大小
$filesize = $file->getClientSize();

// 移动保存文件,返回移动后的路径
// move()方法有两个参数,第一个参数是文件移到哪个文件夹下的路径,第二个参数是将上传的文件重新命名的文件名
$path = $file->move(path,newname);

// Storage 驱动上传设置
// 在 config/filesystems.php 设置上传驱动。

// 在控制器中引入驱动:
use Illuminate\Support\Facades\Storage;

// 然后直接使用如下代码即可:文件名是MD5值
Storage::disk('public')->put(date('Ymd') , $file);

// 自动计算文件名的 MD5 值...
Storage::disk('public')->putFile(date('Ymd') , $file);

// 手动指定文件名...
Storage::putFileAs('photos', new File('/path/to/photo'), 'photo.jpg');