Initial commit
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
<?php
|
||||
namespace Home\Model;
|
||||
class Tongji{
|
||||
private $search_engine_inc=array(
|
||||
"baidu." =>"baidu",
|
||||
"google." =>"google",
|
||||
"sogou." =>"sogou",
|
||||
"so." =>"360",
|
||||
"bing." =>"bing",
|
||||
);
|
||||
public function start(){
|
||||
$visit_userId =$_COOKIE["visit_userId"];
|
||||
if(!$visit_userId){
|
||||
$data=array();
|
||||
//进站方式
|
||||
$http_referer=$_SERVER['HTTP_REFERER'];
|
||||
if(!$http_referer){
|
||||
$data['visit_type']="website";
|
||||
}else{
|
||||
$searcn_engine=$this->search_engine();
|
||||
if($searcn_engine){
|
||||
$data['visit_type']="search";
|
||||
$data['search_engine']=$searcn_engine;
|
||||
}else{
|
||||
$data['visit_type']="link";
|
||||
}
|
||||
}
|
||||
//ip地址
|
||||
$data['ip']= get_client_ip(0,true);
|
||||
//访问时间
|
||||
$data['visit_time']=time();
|
||||
//先插入48小时的表
|
||||
M("visit_48")->add($data);
|
||||
//再插入visit表
|
||||
$today_start=strtotime(date("Y-m-d ")."00:00:00");
|
||||
$today_end=strtotime(date("Y-m-d ")."23:59:59");
|
||||
$where=array();
|
||||
$where["visit_time"]=array("between",array($today_start,$today_end));
|
||||
$data2=array();
|
||||
//时间
|
||||
$data2['daytime']=strtotime(date("Y-m-d"));
|
||||
//IP统计
|
||||
$ip_total=M("visit_48")->field("ip")->where($where)->group("ip")->select();
|
||||
$data2['ip']=count($ip_total);
|
||||
//pv统计
|
||||
$data2['pv']=M("visit_48")->where($where)->count();
|
||||
//visit_search 搜索进来的用户
|
||||
$where2=array();
|
||||
$where2=$where;
|
||||
$where2["visit_type"]="search";
|
||||
$data2['visit_search']=M("visit_48")->where($where2)->count();
|
||||
//website 输入网址进来的用户
|
||||
$where2=array();
|
||||
$where2=$where;
|
||||
$where2["visit_type"]="website";
|
||||
$data2['visit_website']=M("visit_48")->where($where2)->count();
|
||||
//link 通过链接跳转进来的用户
|
||||
$where2=array();
|
||||
$where2=$where;
|
||||
$where2["visit_type"]="link";
|
||||
$data2['visit_link']=M("visit_48")->where($where2)->count();
|
||||
//各大搜索引擎判断
|
||||
//baidu
|
||||
$where2=array();
|
||||
$where2=$where;
|
||||
$where2["visit_type"]="search";
|
||||
$where2["search_engine"]="baidu";
|
||||
$data2['engine_baidu']=M("visit_48")->where($where2)->count();
|
||||
//google
|
||||
$where2=array();
|
||||
$where2=$where;
|
||||
$where2["visit_type"]="search";
|
||||
$where2["search_engine"]="google";
|
||||
$data2['engine_google']=M("visit_48")->where($where2)->count();
|
||||
//sogou
|
||||
$where2=array();
|
||||
$where2=$where;
|
||||
$where2["visit_type"]="search";
|
||||
$where2["search_engine"]="sogou";
|
||||
$data2['engine_sogou']=M("visit_48")->where($where2)->count();
|
||||
//360
|
||||
$where2=array();
|
||||
$where2=$where;
|
||||
$where2["visit_type"]="search";
|
||||
$where2["search_engine"]="360";
|
||||
$data2['engine_360']=M("visit_48")->where($where2)->count();
|
||||
//bing
|
||||
$where2=array();
|
||||
$where2=$where;
|
||||
$where2["visit_type"]="search";
|
||||
$where2["search_engine"]="bing";
|
||||
$data2['engine_bing']=M("visit_48")->where($where2)->count();
|
||||
//
|
||||
$visit_id=M("visit")->where(array("daytime"=>$data2['daytime']))->getField("id");
|
||||
if($visit_id){
|
||||
$data2["id"]=$visit_id;
|
||||
M("visit")->save($data2);
|
||||
}else{
|
||||
M("visit")->add($data2);
|
||||
}
|
||||
//设置访问cookie,过期时间为今天23:59:59
|
||||
setcookie("visit_userId",time()+rand(10000,99999), strtotime(date("Y-d-m")." 23:59:59"));
|
||||
}
|
||||
}
|
||||
//判断搜索引擎
|
||||
private function search_engine(){
|
||||
foreach($this->search_engine_inc as $key=>$engine){
|
||||
if(strstr($_SERVER['HTTP_REFERER'],$key)){
|
||||
return $engine;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user