文件上传

在laravel里面实现文件的上传是很简单的,压根不用引入第三方的类库,作者把上传作为一个简单的http请求看待的。官方手册:链接
1.修改表结构,添加一个字段。(文件路径path)
2.创建路由
3.创建视图页面并且添加@csrf

问题:请你说出文件上传的本质(核心思想) ?
答:就是临时文件的移动,move upload file( )
image.png
4.控制器:

  1. //file里面的名字要跟视图的name一致
  2. //store指的是存放的文件夹 返回为图片存储路径
  3. $path = $request->file('profile')->store('avatars');

修改配置文件:
image.png
上传文件存储示意图:
image.png
扩展:

// 获取上传文件扩展名
$extension = $request->file('fileName')->extension(); 
// 获取原始文件名
$name = $request->file('fileName')->getClientOriginalName();


//指定上传成功的文件名   1111.jpg
 $path = $request->file('fileName')->storeAs(
            'fileName', "11111.jpg"
        );
//扩展使用
$hname = $request->file('fileName')->extension(); //获取文件扩展名
$filename = time().rand(11111,9999).'.'.$hname;
$path = $request->file('fileName')->storeAs(
       'fileName', $filename
);
 dd($path);