PHP论坛实现积分系统的思路代码详解

2020-09-01 11:09:56

首先在用户表定义一个积分字段;

然后创建一个等级表,主要字段有等级名,上限积分和下限积分;

再根据用户的行为进行积分累加;

最后根据判断用户积分在哪个等级范围,从而得出用户等级。

用户表

CREATE TABLE `bbs`.`user`( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT comment '用户id', `avatar` VARCHAR(255) NOT NULL comment '头像', `nickname` VARCHAR(60) NOT NULL comment '昵称', `username` VARCHAR(16) NOT NULL comment '用户名', `password` CHAR(32) NOT NULL comment '密码', `points` INT(10) NOT NULL DEFAULT '0' comment '积分', PRIMARY KEY(`id`)) ENGINE = MYISAM;

等级表

CREATE TABLE `bbs`.`level`( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT comment '等级id', `name` VARCHAR(60) NOT NULL comment '等级名', `max_points` INT(10) UNSIGNED NOT NULL comment '积分上限', `min_points` INT(10) UNSIGNED NOT NULL comment '积分下限', PRIMARY KEY(`id`)) ENGINE = MYISAM;

ps:下面看下thinkphp删除图片的方法实现

使用场景:

新头像替换旧的头像

步骤:

1. 读取数据库头像的URL地址

2. 获取URL地址的有效字段

3. file文件路径设置

4. 删除图片文件

Thinkphp 代码如下:

<?phppublic function delPic(){  //获取用户id  $uid = input('uid');  if(!$uid){    $this->error('uid未获取');  }  //获取url  $img = M('member')->where('uid',$uid);  $url = $img->avatar; //$url = 'https://www.easck.com/d/file/p/2020/09-01/202009011110341409.jpg'  if(!$url){    $this->error('获取头像失败');  }  //获取url有效字段(去掉网址)  $str = parse_url($url)['path'].parse_url($url)['query'];//$str = '/up/avatar/59b25bcfcaac6.jpg'  //file文件路径  $filename = '.'.$str;  //删除  if(file_exists($filename)){        unlink($filename);    $info = '原头像删除成功';  }else{    $info = '未找到原头像'.$filename;  }  echo $info;}
相关文章 大家在看