欢迎登录

php获取网站访问信息

:2018-12-11    :192 次   :3161 字   

摘要

方便站长分析来访者的信息,进行分析和统计。

代码

<?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 < count($ips); $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();
    暂无评论,快来抢沙发吧!
×