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);
}
}