摘要
方便站长分析来访者的信息,进行分析和统计。
代码<?php
//这个类似用来获取访客信息的
//方便统计
class visitorInfo
{
//获取访客ip
public function getIp()
{
$ip=false;
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
for ($i = 0; $i
if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
$ip = $ips[$i];
break;
}
}
}
return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
//根据ip获取城市、网络运营商等信息
public function findCityByIp($ip){
$data = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
$arr = json_decode($data, true);
$region = $arr['data']['region'];
$city = $arr['data']['city'];
$isp = $arr['data']['isp'];
/*
if(preg_match("/city\":\"(.+?)\"\,/ies",$data,$matches)){
$city= $matches[1];
}*/
return $region.$city.$isp;
}
//获取用户浏览器类型
public function getBrowser(){
$agent=$_SERVER["HTTP_USER_AGENT"];
if(strpos($agent,'MSIE')!==false || strpos($agent,'rv:11.0')) //ie11判断
return "ie";
else if(strpos($agent,'Firefox')!==false)
return "firefox";
else if(strpos($agent,'Chrome')!==false)
return "chrome";
else if(strpos($agent,'Opera')!==false)
return 'opera';
else if((strpos($agent,'Chrome')==false)&&strpos($agent,'Safari')!==false)
return 'safari';
else
return 'unknown';
}
//获取网站来源
public function getFromPage(){
return $_SERVER['HTTP_REFERER'];
}
//获取访问时间
public function getTime(){
$postime=time();
return $postime;
}
}
$info =new visitorInfo();
$ip = $info->getIp();
echo $ip;
echo $info->findCityByIp($ip);
echo $info->getBrowser();
echo $info->getFromPage();