php獲取浏覽器信息。獲取訪客語言。獲取訪客操作系統。獲取訪客IP地址。獲取訪客地理位置。
php獲取浏覽器信息,獲取訪客語言:簡體中文、繁體中文、English。獲取訪客操作系統:Windows、MAC、Linux、Unix、BSD、Other。獲取訪客IP地址。獲取訪客地理位置,使用 新浪騰訊接口。
<?php
/**
* 獲取訪客信息的類:語言、浏覽器、操作系統、IP、地理位置、ISP。
* 使用:
* $obj = new guest_info;
* $obj->GetLang(); //獲取訪客語言:簡體中文、繁體中文、English。
* $obj->GetBrowser(); //獲取訪客浏覽器:MSIE、Firefox、Chrome、Safari、Opera、Other。
* $obj->GetOS(); //獲取訪客操作系統:Windows、MAC、Linux、Unix、BSD、Other。
* $obj->GetIP(); //獲取訪客IP地址。
* $obj->GetAdd(); //獲取訪客地理位置,使用 Baidu 隱藏接口。
* $obj->GetIsp(); //獲取訪客ISP,使用 Baidu 隱藏接口。
*/
class guest_info{
function GetLang() {
$Lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4);
//使用substr()截取字符串,從 0 位開始,截取4個字符
if (preg_match('/zh-c/i',$Lang)) {
//preg_match()正則表達式匹配函數
$Lang = '簡體中文';
}
elseif (preg_match('/zh/i',$Lang)) {
$Lang = '繁體中文';
}
else {
$Lang = 'English';
}
return $Lang;
}
function GetBrowser() {
$Browser = $_SERVER['HTTP_USER_AGENT'];
if (preg_match('/MSIE/i',$Browser)) {
$Browser = 'MSIE';
}
elseif (preg_match('/Firefox/i',$Browser)) {
$Browser = 'Firefox';
}
elseif (preg_match('/Chrome/i',$Browser)) {
$Browser = 'Chrome';
}
elseif (preg_match('/Safari/i',$Browser)) {
$Browser = 'Safari';
}
elseif (preg_match('/Opera/i',$Browser)) {
$Browser = 'Opera';
}
else {
$Browser = 'Other';
}
return $Browser;
}
function GetOS() {
$OS = $_SERVER['HTTP_USER_AGENT'];
if (preg_match('/win/i',$OS)) {
$OS = 'Windows';
}
elseif (preg_match('/mac/i',$OS)) {
$OS = 'MAC';
}
elseif (preg_match('/linux/i',$OS)) {
$OS = 'Linux';
}
elseif (preg_match('/unix/i',$OS)) {
$OS = 'Unix';
}
elseif (preg_match('/bsd/i',$OS)) {
$OS = 'BSD';
}
else {
$OS = 'Other';
}
return $OS;
}
function GetIP() {
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
//如果變量是非空或非零的值,則 empty()返回 FALSE。
$IP = explode(',',$_SERVER['HTTP_CLIENT_IP']);
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$IP = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
}
elseif (!empty($_SERVER['REMOTE_ADDR'])) {
$IP = explode(',',$_SERVER['REMOTE_ADDR']);
}
else {
$IP[0] = 'None';
}
return $IP[0];
}
}
$obj = new guest_info;
echo $obj->GetLang(); //獲取訪客語言:簡體中文、繁體中文、English。
echo $obj->GetBrowser(); //獲取訪客浏覽器:MSIE、Firefox、Chrome、Safari、Opera、Other。
echo $obj->GetOS(); //獲取訪客操作系統:Windows、MAC、Linux、Unix、BSD、Other。
echo $obj->GetIP(); //獲取訪客IP地址。
?>
URL:http://www.bianceng.cn/webkf/PHP/201410/45941.htm
一、PHP利用騰訊IP分享計劃獲取IP地理位置
<?php
function getIPLoc_QQ($queryIP){
$url = 'http://ip.qq.com/cgi-bin/searchip?searchip1='.$queryIP;
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_ENCODING ,'gb2312');
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 獲取數據返回
$result = curl_exec($ch);
$result = mb_convert_encoding($result, "utf-8", "gb2312"); // 編碼轉換,否則亂碼
curl_close($ch);
preg_match("@<span>(.*)</span></p>@iU",$result,$ipArray);
$loc = $ipArray[1];
return $loc;
}
//使用
echo getIPLoc_QQ("183.37.209.57"); //即可得到IP地址所在的地址位置。
?>
二、PHP利用新浪IP查詢接口獲取IP地理位置
<?php
function getIPLoc_sina($queryIP){
$url = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip='.$queryIP;
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_ENCODING ,'utf8');
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 獲取數據返回
$location = curl_exec($ch);
$location = json_decode($location);
curl_close($ch);
$loc = "";
if($location===FALSE) return "";
if (empty($location->desc)) {
$loc = $location->province.$location->city.$location->district.$location->isp;
}else{ $loc = $location->desc;
}
return $loc;
}
echo getIPLoc_sina("183.37.209.57");
?>
點這個地址下載吧:http://download.csdn.net/detail/u011986449/6871205
效果如下圖:
