在laravel里面实现文件的上传是最简单的,压根不用引入第三方的类库,作者把上传作为一个简单的http请求看待的,使用时可以参考手册。
(1)修改表结构,添加一个字段
(2)创建添加数据的表单和路由
表单还是可以使用test9页面
提交路由可以使用test10路由
条件:
a.至少有一个input类型为file类型
b.具有form标签,method必须为post,必须具备enctype属性
c.具备一个提交按钮
(3)在控制器中,添加上传业务处理逻辑
【此处操作建议查看手册】
关于上传错误状态码error的取值:0-7,共7个,没有5
文件上传
获取上传的文件
思路:
a.先去判断文件是否正常存在
b.获取相关的信息(可选)
c.保存文件(其实就是移动文件到新目录)
获取文件的方式:既可以通过file方法来获取也可以通过动态属性来获取。
(4)创建文件上传的保存路径(一定要在public下,确保浏览器能够访问)
效果:
上传成功:
关于项目中使用路径(“/”与“./”)的说明
如果一个路径是给php代码使用的则建议使用“./”
如果路径是给前端浏览器使用则使用“/”
【在后端代码中,/表示的不是站点或根目录,而是表示磁盘目录】
关于数据接受:
上次使用的是input类,这里也可以使用Request类,其语法与input类似:
$request->get();
$request->all();
$request->only();
$request->except();
$request->has();
为了保存的文件不被覆盖,建议在保存文件的同时对文件名进行尽量唯一的重命名。