Call to a member function validate() on array 报错 tp5多文件上传

Call to a member function validate() on array 报错 tp5多文件上传_第1张图片

** 一 、先上报错信息**

Call to a member function validate() on array 报错 tp5多文件上传_第2张图片

报错意思就是: 在数组上调用了 validate() 函数;

** 二 、于是我打印了$file的内容,看看是怎么回事**

Call to a member function validate() on array 报错 tp5多文件上传_第3张图片

** 三、 foreach遍历之后,他还是个数组,里面才是我们要的图片对象;我改变遍历对象为$files[‘pics’];然后打印遍历一下内容**

Call to a member function validate() on array 报错 tp5多文件上传_第4张图片
Call to a member function validate() on array 报错 tp5多文件上传_第5张图片

** 四、 出来的结果没问题,我们打开注释,让程序照常进行;发现问题解决了,文件上传到指定路径**

Call to a member function validate() on array 报错 tp5多文件上传_第6张图片

总结:validate()是个方法,思考下,正常情况来说,数组里不能放方法的,也不存在调用的情况;所以先考虑下是不是调用的对象错了,我这次就是;我用的是多文件上传,并且存放在pics数组里;因为是多个文件,因为不是单个文件,所以用$request->file()的时候,获取到的是pics数组(数组里放着上传的文件对象),而不是文件对象本身;

你可能感兴趣的:(知识累计)