<?php namespace Home\Controller; use Think\Controller; class TaskController extends Controller { public function index(){ //对积分进行解冻 header("Content-Type:text/html; charset=utf-8"); $kg='./task.t'; if(!file_exists($kg)){ $this->jd(); file_put_contents($kg,''); }else{ $ftime=filemtime($kg); if(date('Ymd',$ftime)==date('Ymd')){ exit('今日已运行,上次运行时间:'.date('Y年m月d日 H:i:s',$ftime)); } //判断时间是否在1点 if(date('H',time())>1){ exit('积分解冻时间已过!'); } $this->jd(); touch($kg); } } private function jd(){ //对积分进行解冻 ignore_user_abort(true); set_time_limit(0); $M_u =M('user'); //获取对冻结积分大于0的进行解冻 $uInfo=$M_u->where('`dj_integral`>0')->select(); if($uInfo){ foreach ($uInfo as $row){ $sql = "update __USER__ set `UE_integral`=`UE_integral`+{$row['dj_integral']},`dj_integral`=`dj_integral`-{$row['dj_integral']} where `UE_ID`={$row['ue_id']}"; //实例化model对象,执行execute方法,返回影响行数 $M_u->execute($sql); echo '已解冻用户'.$row['ue_account'].'积分'.'<br/>'; } }else{ exit('当前没有可解冻的积分!'); } } }
然后就可以放入执行任务中,定时执行。比如添加到宝塔的计划任务中
如果本文对你有帮助,欢迎打赏本站