当前位置 : 主页 > 网络编程 > PHP >

php查询日志接口

来源:互联网 收集:自由互联 发布时间:2021-06-28
gistfile1.txt =%s $3=%s %s){print $3,$4,$5,$6,$7,$8,$9}else{}}'EOT; $cmd = sprintf($cmd,$param['begin_time'],$param['end_time'],$where_str); $data = exec_cmd($cmd,$param);// var_dump($res,$data); $log = array(); foreach($data['data'] as $k=
gistfile1.txt
 =%s && $3<=%s %s){print $3,$4,$5,$6,$7,$8,$9}else{}}'
EOT;
    $cmd = sprintf($cmd,$param['begin_time'],$param['end_time'],$where_str);
    $data = exec_cmd($cmd,$param);
//    var_dump($res,$data);
    $log = array();
    foreach($data['data'] as $k=>$v){
        //1495075246 1124 4 21001 s1 10970 192.168.77.8
        //登录时间,角色id,角色等级,平台id,区服id,战力,登录ip,
        $login_log_arr = explode(" ",$v);
        $log[] = array(
            'stime'=>$login_log_arr[0],
            'playerid'=>$login_log_arr[1],
            'level'=>$login_log_arr[2],
            'agent_id'=>$login_log_arr[3],
            'server_id'=>$login_log_arr[4],
            'power'=>$login_log_arr[5],
            'ip'=>$login_log_arr[6],
        );
    }
    ajax_return($data['total'],$data['per_page'],$data['total_page'],$data['page'],$log);

}


/**
 * 获取登出日志
 * @param $param
 */
//http://qijuelog.menle.local/index.php?a=get_game_login_log&server_id=1&begin_time=1990-01-01
function get_game_login_out_log($param){
    //登录时间,角色id,角色等级,平台id,区服id,战力,登录ip,
    /*
     *  per_page
     *  page
     *  begin_time $3
        end_time   $3
        role_id    $4
        server_id  $5
     */
    $where = array();
    if(isset($param['playerid']) && $param['playerid']){
        $where[] = "$4=={$param['playerid']}";
    }
    $where_str = "";
    if(!empty($where)){
        $where_str = " && ".implode(" && ",$where);
    }
    $cmd = <<
 
  =%s && $3<=%s %s){print $3,$4,$5,$6,$7,$8,$9,$10}else{}}'
EOT;
    $cmd = sprintf($cmd,$param['begin_time'],$param['end_time'],$where_str);
    $data = exec_cmd($cmd,$param);
    $log = array();
    foreach($data['data'] as $k=>$v){
        //1495075246 1124 4 21001 s1 10970 192.168.77.8
        //登录时间,角色id,角色等级,平台id,区服id,战力,登录ip,
        $login_log_arr = explode(" ",$v);
        $log[] = array(
            'stime'=>$login_log_arr[0],
            'playerid'=>$login_log_arr[1],
            'level'=>$login_log_arr[2],
            'agent_id'=>$login_log_arr[3],
            'server_id'=>$login_log_arr[4],
            'power'=>$login_log_arr[5],
            'leave'=>$login_log_arr[6],
            'ip'=>$login_log_arr[7],
        );
    }
    ajax_return($data['total'],$data['per_page'],$data['total_page'],$data['page'],$log);
}


//http://qijuelog.menle.local/index.php?a=get_game_levelup_log&server_id=1&begin_time=1990-01-01
/**
 *
 * 查询等级变化日志
 * @param $param
 */
function get_game_levelup_log($param){
    //时间  角色id,战力,当前等级,平台id,区服id
    /*
     *  per_page
     *  page
     *  begin_time $3
        end_time   $3
        role_id    $4

     */
    $where = array();
    if(isset($param['playerid']) && $param['playerid']){
        $where[] = "$4=={$param['playerid']}";
    }
    $where_str = "";
    if(!empty($where)){
        $where_str = " && ".implode(" && ",$where);
    }
    $cmd = <<
  
   =%s && $3<=%s %s){print $3,$4,$5,$6,$7,$8,$9}else{}}' EOT; $cmd = sprintf($cmd,$param['begin_time'],$param['end_time'],$where_str); // echo $cmd; $data = exec_cmd($cmd,$param); $login_log = array(); foreach($data['data'] as $k=>$v){ //1495075246 1124 4 21001 s1 10970 192.168.77.8 //时间 角色id,战力,当前等级,平台id,区服id $login_log_arr = explode(" ",$v); $login_log[] = array( 'stime'=>$login_log_arr[0], 'playerid'=>$login_log_arr[1], 'power'=>$login_log_arr[2], 'level'=>$login_log_arr[3], 'agent_id'=>$login_log_arr[4], 'server_id'=>$login_log_arr[5], ); } ajax_return($data['total'],$data['per_page'],$data['total_page'],$data['page'],$login_log); } /** * 获取道具变化记录表 * @param $param */ //http://qijuelog.menle.local/index.php?a=get_game_itemchange_log&server_id=1&begin_time=1990-01-01 function get_game_itemchange_log($param){ //$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14 //时间,类型(1装备,2饰品,3宝石...),道具id(装备id,饰品id,宝石id等),角色id,角色等级,平台id,区服id,战力,是否绑定,变化类型(0获取/1消耗),数量,来源 /* * per_page * page * begin_time $3 end_time $3 playerid $4 type $5 */ //$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14 //时间,类型(1装备,2饰品,3宝石...),道具id(装备id,饰品id,宝石id等),角色id,角色等级,平台id,区服id,战力,是否绑定,变化类型(0获取/1消耗),数量,来源 //props_type,id,playerid,level,agent_id,server_id,power,bing,type,amount,way //搜索 角色id 变化类型 $where = array(); if(isset($param['playerid']) && $param['playerid']){ $where[] = "$4=={$param['playerid']}"; } if(isset($param['type']) && !empty($param['type'])){ $where[] = "$12=={$param['type']}"; } $where_str = ""; if(!empty($where)){ $where_str = " && ".implode(" && ",$where); } $cmd = <<
   
    =%s && $3<=%s %s){print $3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14}else{}}' EOT; $cmd = sprintf($cmd,$param['begin_time'],$param['end_time'],$where_str); $data = exec_cmd($cmd,$param); $log = array(); /*格式化数据*/ foreach($data['data'] as $k=>$v){ //1495075246 1124 4 21001 s1 10970 192.168.77.8 //时间 角色id,战力,当前等级,平台id,区服id $log_arr = explode(" ",$v); $log[] = array( 'stime'=>$log_arr[0], 'props_type'=>$log_arr[1], 'id'=>$log_arr[2], 'playerid'=>$log_arr[3], 'level'=>$log_arr[4], 'agent_id'=>$log_arr[5], 'server_id'=>$log_arr[6], 'power'=>$log_arr[7], 'bing'=>$log_arr[8], 'type'=>$log_arr[9], 'amount'=>$log_arr[10], 'way'=>$log_arr[11], ); } ajax_return($data['total'],$data['per_page'],$data['total_page'],$data['page'],$log); } /** * 获取货币变化记录 * @param $param */ //http://qijuelog.menle.local/index.php?a=get_game_coinchange_log&server_id=1&begin_time=1990-01-01 function get_game_coinchange_log($param){ /* * 货币记录 * 时间,货币类型,类型(0:获得,1:消耗),元宝数量(消耗或者获得的),身上剩余元宝数,角色id,战力,角色等级,平台id,区服id ,途径(消费在什么地方或者从哪里获得),消耗货币购买的道具ID,购买的数量 * * 货币类型$4 角色id:$8 途径(消费类型)$13 */ $where = array(); if(isset($param['playerid']) && $param['playerid']){ $where[] = "$8=={$param['playerid']}"; } if(isset($param['currency_type']) && !empty($param['currency_type'])){ $where[] = "$4=={$param['currency_type']}"; } if(isset($param['way']) && !empty($param['way'])){ $where[] = "$13== \"{$param['way']}\""; } $where_str = ""; if(!empty($where)){ $where_str = " && ".implode(" && ",$where); } $cmd = <<
    
     =%s && $3<=%s %s){print $3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15}else{}}' EOT; $cmd = sprintf($cmd,$param['begin_time'],$param['end_time'],$where_str); $data = exec_cmd($cmd,$param); $log = array(); /*格式化数据*/ foreach($data['data'] as $k=>$v){ $log_arr = explode(" ",$v); if(count($log_arr)==11){ $log[] = array( 'stime'=>$log_arr[0], 'currency_type'=>$log_arr[1], 'type'=>$log_arr[2], 'amount'=>$log_arr[3], 'h_amount'=>$log_arr[4], 'playerid'=>$log_arr[5], 'server_id'=>$log_arr[6], 'power'=>$log_arr[7], 'level'=>$log_arr[8], 'agent_id'=>$log_arr[9], 'way'=>$log_arr[10], ); }else{ $log[] = array( 'stime'=>$log_arr[0], 'currency_type'=>$log_arr[1], 'type'=>$log_arr[2], 'amount'=>$log_arr[3], 'h_amount'=>$log_arr[4], 'playerid'=>$log_arr[5], 'server_id'=>$log_arr[6], 'power'=>$log_arr[7], 'level'=>$log_arr[8], 'agent_id'=>$log_arr[9], 'way'=>$log_arr[10], 'item_num'=>$log_arr[11], 'item_id'=>$log_arr[12], ); } } ajax_return($data['total'],$data['per_page'],$data['total_page'],$data['page'],$log); } /** * 获取副本日志 * @param $param */ //http://qijuelog.menle.local/index.php?a=get_game_copy_log&server_id=1&begin_time=1990-01-01 function get_game_copy_log($param){ /* * 货币记录 * 时间,货币类型,类型(0:获得,1:消耗),元宝数量(消耗或者获得的),身上剩余元宝数,角色id,战力,角色等级,平台id,区服id ,途径(消费在什么地方或者从哪里获得),消耗货币购买的道具ID,购买的数量 * * 货币类型$4 角色id:$8 途径(消费类型)$13 */ $where = array(); if(isset($param['playerid']) && $param['playerid']){ $where[] = "$4=={$param['playerid']}"; } $where_str = ""; if(!empty($where)){ $where_str = " && ".implode(" && ",$where); } $cmd = <<
     
      =%s && $3<=%s %s){print $3,$4,$5,$6,$7}else{}}' EOT; $cmd = sprintf($cmd,$param['begin_time'],$param['end_time'],$where_str); $data = exec_cmd($cmd,$param); $log = array(); /*格式化数据*/ foreach($data['data'] as $k=>$v){ $log_arr = explode(" ",$v); $log[] = array( 'stime'=>$log_arr[0], 'playerid'=>$log_arr[1], 'agent_id'=>$log_arr[2], 'server_id'=>$log_arr[3], 'reason'=>$log_arr[4], ); } ajax_return($data['total'],$data['per_page'],$data['total_page'],$data['page'],$log); } /** * 获取元宝变化记录 * @param $param */ //http://qijuelog.menle.local/index.php?a=get_game_coinchange_log&server_id=1&begin_time=1990-01-01 function get_game_goldchange_log($param){ /* * 货币记录 * 时间,货币类型,类型(0:获得,1:消耗),元宝数量(消耗或者获得的),身上剩余元宝数,角色id,战力,角色等级,平台id,区服id ,途径(消费在什么地方或者从哪里获得),消耗货币购买的道具ID,购买的数量 * * 货币类型$4 角色id:$8 途径(消费类型)$13 */ $where = array(); if(isset($param['playerid']) && $param['playerid']){ $where[] = "$7=={$param['playerid']}"; } if(isset($param['type']) && !empty($param['type'])){ $where[] = "$4=={$param['type']}"; } if(isset($param['way']) && !empty($param['way'])){ $where[] = "$14== \"{$param['way']}\""; } $where_str = ""; if(!empty($where)){ $where_str = " && ".implode(" && ",$where); } $cmd = <<
      
       =%s && $3<=%s %s){print $3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14}else{}}' EOT; $cmd = sprintf($cmd,$param['begin_time'],$param['end_time'],$where_str); $data['data'] = exec_cmd($cmd,$param); $log = array(); /*格式化数据*/ foreach($data['data'] as $k=>$v){ $log_arr = explode(" ",$v); $log[] = array( 'stime'=>$log_arr[0], 'type'=>$log_arr[1], 'amount'=>$log_arr[2], 'h_amount'=>$log_arr[3], 'playerid'=>$log_arr[4], 'power'=>$log_arr[5], 'level'=>$log_arr[6], 'agent_id'=>$log_arr[7], 'server_id'=>$log_arr[8], 'item_num'=>$log_arr[9], 'item_id'=>$log_arr[10], 'way'=>$log_arr[11], ); } ajax_return($data['total'],$data['per_page'],$data['total_page'],$data['page'],$log); } //http://qijuelog.menle.local/index.php?a=get_game_login_log_date&server_id=1&begin_time=1990-01-01 /** *每日/每销售登录统计 * @param $param */ function get_game_login_log_date($param){ /* * per_page * page * begin_time $3 end_time $3 playerid $4 server_id $5 */ $where = array(); if(isset($param['playerid']) && $param['playerid']){ $where[] = "$4=={$param['playerid']}"; } if(isset($param['agent_id']) && !empty($param['agent_id'])){ $where[] = "$6=={$param['agent_id']}"; } $where_str = ""; if(!empty($where)){ $where_str = " && ".implode(" && ",$where); } $cmd = <<
       
        =%s && $3<=%s %s) EOT; ##每天 登录数 $cmd_login_num = <<
        
         =%s && $3<=%s %s){s[$4] =$4 }}END{for(i in s){print i}}' EOT; $cmd = sprintf($cmd,$param['begin_time'],$param['end_time'],$where_str); $data = exec_cmd($cmd,$param); ajax_return($data['total'],$data['per_page'],$data['total_page'],$data['page'],$data['data']); } /** * 统计在线时间长 * @param $param */ function get_game_logout_log_playerid_sum_leave($param){ $where = array(); if(isset($param['playerid']) && $param['playerid']){ $where[] = "$4=={$param['playerid']}"; } if(isset($param['agent_id']) && !empty($param['agent_id'])){ $where[] = "$6=={$param['agent_id']}"; } $where_str = ""; if(!empty($where)){ $where_str = " && ".implode(" && ",$where); } $cmd = <<
         
          =%s && $3<=%s %s) s[$4]+=$9 }END{for(i in s ){print i,s[i]}}' EOT; $cmd = sprintf($cmd,$param['begin_time'],$param['end_time'],$where_str); $data = exec_cmd($cmd,$param); foreach($data['data'] as $k=>$v){ $player_leave = explode(" ",$v); $log[] = array( 'player_id'=>$player_leave[0], 'leave'=>$player_leave[1] ); } ajax_return($data['total'],$data['per_page'],$data['total_page'],$data['page'],$log); } /** * 统计时长流失 * @param $param */ function get_game_logout_log_playerid_sum_leave_loss($param){ $where = array(); if(isset($param['playerid']) && $param['playerid']){ $where[] = "$4=={$param['playerid']}"; } if(isset($param['agent_id']) && !empty($param['agent_id'])){ $where[] = "$6=={$param['agent_id']}"; } $where_str = ""; if(!empty($where)){ $where_str = " && ".implode(" && ",$where); } $cmd = <<
          
           =%s && $3<=%s %s) s[$4]+=$9 }END{for(i in s ){print i,s[i],$3}}' EOT; $cmd = sprintf($cmd,$param['begin_time'],$param['end_time'],$where_str); $data = exec_cmd($cmd,$param); foreach($data['data'] as $k=>$v){ $player_leave = explode(" ",$v); $log[] = array( 'player_id'=>$player_leave[0], 'leave'=>$player_leave[1] ); } ajax_return($data['total'],$data['per_page'],$data['total_page'],$data['page'],$log); } /** * 绑元统计 */ function get_game_coinchange_log_sum_amount($param){ $where = array(); if(isset($param['playerid']) && $param['playerid']){ $where[] = "$7=={$param['playerid']}"; } if(isset($param['type']) && !empty($param['type'])){ $where[] = "$4=={$param['type']}"; } if(isset($param['way']) && !empty($param['way'])){ $where[] = "$14== \"{$param['way']}\""; } $where_str = ""; if(!empty($where)){ $where_str = " && ".implode(" && ",$where); } $cmd = <<
           
            =%s && $3<=%s %s)s[$13] +=$6}END{for(i in s){print i,s[i],$3}} ' EOT; $cmd = sprintf($cmd,$param['begin_time'],$param['end_time'],$where_str); $data = exec_cmd($cmd,$param); foreach($data['data'] as $k=>$v){ $player_leave = explode(" ",$v); $log[] = array( 'player_id'=>$player_leave[0], 'leave'=>$player_leave[1], 'stime'=>$player_leave[2], ); } ajax_return($data['total'],$data['per_page'],$data['total_page'],$data['page'],$log); } /*** * 执行shell 并返回结果 * @param $cmd * @param $param * @return array */ function exec_cmd($cmd,$param){ exec($cmd,$res); if($_GET['debug']){ echo $cmd; } $res = array_reverse($res); $total = count($res); $total_page = ceil($total/$param['per_page']); $offset = $param['page']-1; $data = array_slice($res,$offset,$param['per_page']); $res = array( 'total'=>$total, 'per_page'=>$param['per_page'], 'total_page'=>$total_page, 'page'=>$param['page'], 'data'=>$data, ); return $res; } /** * 返回数据 * @param $per_page * @param $total_page * @param $page * @param $data */ function ajax_return($total,$per_page,$total_page,$page,$data){ if(!empty($data)){ $response = array( 'status'=>0, 'msg'=>'', 'data'=>array( 'total'=>$total, 'per_page'=>$per_page, 'total_page'=>$total_page, 'page'=>$page, 'list'=>$data ), ); }else{ $response = array( 'status'=>-1, 'msg'=>'没有数据' ); } echo json_encode($response,JSON_UNESCAPED_UNICODE); }
           
          
         
        
       
      
     
    
   
  
 
网友评论