天天看點

擷取網站php,PHP擷取網站通路資訊

摘要

友善站長分析來訪者的資訊,進行分析和統計。

代碼<?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'];

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();