thinkphp中已经有对图片上传做了很好的验证 使用如下:
验证器类中写:
namespace app\index\validate; use think\Validate; class User extends Validate { protected $rule = [ \'test\' => [\'require\', \'image\' => \'225,225\', \'fileExt\' => \'png,jpg\', \'fileSize\' => 6500], ]; protected $message = [ \'test.image\' => \'不是225,225的图形\', \'test.fileExt\' => \'图片的格式不符合要求\', \'test.fileSize\' => \'内容不能大于6500字节\', ]; protected $scene = [ \'edit\' => [\'test\'](这里是场景) ];
控制器中验证:
public function trr(Request $request) { //获取上传文件 $file = $request->file(\'image\'); //先验证是否满足条件 $result = $this->validate([\'test\' => $file], \'User.edit\'); if (true === $result) { //满足条件再做业务逻辑 $info = $file->move(ROOT_PATH.\'public\'.DS.\'uploads\'); } else { dump($result); } }