2019独角兽企业重金招聘Python工程师标准>>>
php
class Client
{
获得访客浏览器类型
function Get_Browser ( ) {
if ( ! empty ( $ _SERVER [ 'HTTP_USER_AGENT' ] ) ) {
$ br = $ _SERVER [ 'HTTP_USER_AGENT' ] ;
if ( preg_match ( '/MSIE/i' , $ br ) ) {
$ br = 'MSIE' ;
}
elseif ( preg_match ( '/Firefox/i' , $ br ) ) {
$ br = 'Firefox' ;
}
elseif ( preg_match ( '/Chrome/i' , $ br ) ) {
$ br = 'Chrome' ;
}
elseif ( preg_match ( '/Safari/i' , $ br ) ) {
$ br = 'Safari' ;
}
elseif ( preg_match ( '/Opera/i' , $ br ) ) {
$ br = 'Opera' ;
} else {
$ br = 'Other' ;
}
return $ br ;
}
else {
return "unknow" ;
}
}
获得访客浏览器语言
function Get_Lang ( ) {
if ( ! empty ( $ _SERVER [ 'HTTP_ACCEPT_LANGUAGE' ] ) ) {
$ lang = $ _SERVER [ 'HTTP_ACCEPT_LANGUAGE' ] ;
$ lang = substr ( $ lang , 0 , 5 ) ;
if ( preg_match ( "/zh-cn/i" , $ lang ) ) {
$ lang = "简体中文" ;
}
elseif ( preg_match ( "/zh/i" , $ lang ) ) {
$ lang = "繁体中文" ;
}
else {
$ lang = "English" ;
}
return $ lang ;
}
else {
return "unknow" ;
}
}
获取访客操作系统
function Get_Os ( ) {
if ( ! empty ( $ _SERVER [ 'HTTP_USER_AGENT' ] ) ) {
$ 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 ;
}
else {
return "unknow" ;
}
}
获得访客真实ip
function Get_Ip_Addr ( ) {
if ( ! empty ( $ _SERVER [ "HTTP_CLIENT_IP" ] ) ) {
$ ip = $ _SERVER [ "HTTP_CLIENT_IP" ] ;
}
if ( ! empty ( $ _SERVER [ 'HTTP_X_FORWARDED_FOR' ] ) ) { //获取代理ip
$ ips = explode ( ',' , $ _SERVER [ 'HTTP_X_FORWARDED_FOR' ] ) ;
}
if ( $ ip ) {
$ ips = array_unshift ( $ ips , $ ip ) ;
}
$ count = count ( $ ips ) ;
for ( $ i &#61; 0 ; $ i <$ count ; $ i &#43;&#43; ) {
if ( ! preg_match ( "/^(10|172\.16|192\.168)\./i" , $ ips [ $ i ] ) ) { //排除局域网ip
$ ip &#61; $ ips [ $ i ] ;
break ;
}
}
$ tip &#61; empty ( $ _SERVER [ &#39;REMOTE_ADDR&#39; ] ) ? $ ip : $ _SERVER [ &#39;REMOTE_ADDR&#39; ] ;
if ( $ tip &#61;&#61; "127.0.0.1" ) { //获得本地真实IP
return self :: get_onlineip ( ) ;
}
else {
return $ tip ;
}
}
获得本地真实IP
function get_onlineip ( ) {
$ ip_json &#61; &#64; file_get_contents ( "http://ip.taobao.com/service/getIpInfo.php?ip&#61;myip" ) ;
$ ip_arr &#61; json_decode ( stripslashes ( $ ip_json ) , 1 ) ;
if ( $ ip_arr [ &#39;code&#39; ] &#61;&#61; 0 )
{
return $ ip_arr [ &#39;data&#39; ] [ &#39;ip&#39; ] ;
}
}
根据ip获得访客所在地地名
function Get_Ip_From ( $ ip &#61; &#39;&#39; ) {
if ( empty ( $ ip ) ) {
$ ip &#61; self :: Getip ( ) ;
}
$ ip_json &#61; &#64; file_get_contents ( "http://ip.taobao.com/service/getIpInfo.php?ip&#61;" . $ ip ) ; //根据taobao ip
$ ip_arr &#61; json_decode ( stripslashes ( $ ip_json ) , 1 ) ;
if ( $ ip_arr [ &#39;code&#39; ] &#61;&#61; 0 )
{
return $ ip_arr ;
}
else
{
return false ;
}
}
}