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