问题原因:
在使用thinkphp做开发时难免会遇到一些小问题,这个问题的原因就是没有上传图片
复制代码
1
2
3$info = $file->validate(['size'=>10*1024*1024,'ext'=>['jpg','png','gif']]) ->move(ROOT_PATH . 'public' . DS . 'uploads');
这里调用 validate函数 没有接收到值导致报错
解决方案:
我们可以在图片上传函数的最外层加上一个判断
复制代码
1
2
3
4if($_FILES['thumb']['tmp_name']){ }
判断图片信息是否存在如果存在就去执行图片上传方法
最终代码
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17if($_FILES['thumb']['tmp_name']){ $file = request()->file('thumb'); //将文件移动到指定的目录 $info = $file->validate(['size'=>10*1024*1024,'ext'=>['jpg','png','gif']]) ->move(ROOT_PATH . 'public' . DS . 'uploads'); if(empty($info)){ $this->error('上传失败'); } //拼接图片访问路径 $logo = DS . 'uploads' . DS . $info->getSaveName(); //生成缩略图 $image = thinkImage::open('.' . $logo); $image->thumb(165,124)->save('.' . $logo); // return $logo; $params['thumb'] = $logo; }
最后
以上就是如意星星最近收集整理的关于Call to a member function validate() on null的全部内容,更多相关Call内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复