需求;打开网站直到关闭浏览器浏览量+1;
使用yii2.0的框架,用redis来存储点击量;使用cookie来区分;
<?php /** * Created by PhpStorm. * User: xiaoxie * Date: 2017/6/17 * Time: 23:41 */ namespace frontend\controllers\base; use yii\web\Controller; use Yii; class BaseController extends Controller { public function beforeAction($action){ if(!parent::beforeAction($action)){ return false; } $times = mktime(23,59,59) - mktime(date('H'),date('i'),date('s')); $redis = Yii::$app->redis; $redis->auth('admin'); $num = $redis->get('xiaoxietotal'); //第一次打开的时候是没有cookie的 if (isset($_COOKIE['advanced-frontend'])){ $cookie = $_COOKIE['advanced-frontend']; $key = $redis->get($cookie); if (!$key){ $redis->set($cookie,1); //30分钟过期 $redis->expire($cookie,30*60); if ($num) { // $redis->incr('xiaoxietotal'); }else{ $redis->set('xiaoxietotal',1); } $todayTotal = $redis->get('xiaoxietoday'); if ($todayTotal) { // $redis->incr('xiaoxietoday'); }else{ $redis->set('xiaoxietoday',1); //当天的浏览量设置0点过期 $redis->expire('xiaoxietoday',$times); } } }else{ //echo 123; if ($num) { $redis->incr('xiaoxietotal'); }else{ $redis->set('xiaoxietotal',1); } $todayTotal = $redis->get('xiaoxietoday'); if ($todayTotal) { $redis->incr('xiaoxietoday'); }else{ $redis->set('xiaoxietoday',1); //当天的浏览量设置0点过期 $redis->expire('xiaoxietoday',$times); } } return true; } }