1 <?php
2 class Client
3 {
4 ////获得访客浏览器类型
5 function Get_Browser(){
6 if(!empty($_SERVER['HTTP_USER_AGENT'])){
7 $br = $_SERVER['HTTP_USER_AGENT'];
8 if (preg_match('/MSIE/i',$br)) {
9 $br = 'MSIE';
10 }
11 elseif (preg_match('/Firefox/i',$br)) {
12 $br = 'Firefox';
13 }
14 elseif (preg_match('/Chrome/i',$br)) {
15 $br = 'Chrome';
16 }
17 elseif (preg_match('/Safari/i',$br)) {
18 $br = 'Safari';
19 }
20 elseif (preg_match('/Opera/i',$br)) {
21 $br = 'Opera';
22 }else {
23 $br = 'Other';
24 }
25 return $br;
26 }
27 else{
28 return "unknow";
29 }
30 }
31
32 ////获得访客浏览器语言
33 function Get_Lang(){
34 if(!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
35 $lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
36 $lang = substr($lang,0,5);
37 if(preg_match("/zh-cn/i",$lang)){
38 $lang = "简体中文";
39 }
40 elseif(preg_match("/zh/i",$lang)){
41 $lang = "繁体中文";
42 }
43 else{
44 $lang = "English";
45 }
46 return $lang;
47 }
48 else{
49 return "unknow";
50 }
51 }
52
53 ////获取访客操作系统
54 function Get_Os(){
55 if(!empty($_SERVER['HTTP_USER_AGENT'])){
56 $OS = $_SERVER['HTTP_USER_AGENT'];
57 if (preg_match('/win/i',$OS)) {
58 $OS = 'Windows';
59 }
60 elseif (preg_match('/mac/i',$OS)) {
61 $OS = 'MAC';
62 }
63 elseif (preg_match('/linux/i',$OS)) {
64 $OS = 'Linux';
65 }
66 elseif (preg_match('/unix/i',$OS)) {
67 $OS = 'Unix';
68 }
69 elseif (preg_match('/bsd/i',$OS)) {
70 $OS = 'BSD';
71 }
72 else {
73 $OS = 'Other';
74 }
75 return $OS;
76 }
77 else{
78 return "unknow";
79 }
80 }
81
82 ////获得访客真实ip
83 function Get_Ip_Addr(){
84 if(!empty($_SERVER["HTTP_CLIENT_IP"])){
85 $ip = $_SERVER["HTTP_CLIENT_IP"];
86 }
87 if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ //获取代理ip
88 $ips = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
89 }
90 if($ip){
91 $ips = array_unshift($ips,$ip);
92 }
93 $count = count($ips);
94 for($i=0;$i<$count;$i++){
95 if(!preg_match("/^(10|172\.16|192\.168)\./i",$ips[$i])){//排除局域网ip
96 $ip = $ips[$i];
97 break;
98 }
99 }
100 $tip = empty($_SERVER['REMOTE_ADDR']) ? $ip : $_SERVER['REMOTE_ADDR'];
101 if($tip=="127.0.0.1"){ //获得本地真实IP
102 return self::get_onlineip();
103 }
104 else{
105 return $tip;
106 }
107 }
108
109 ////获得本地真实IP
110 function get_onlineip() {
111 $ip_json = @file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=myip");
112 $ip_arr=json_decode(stripslashes($ip_json),1);
113 if($ip_arr['code']==0)
114 {
115 return $ip_arr['data']['ip'];
116 }
117
118 }
119
120 ////根据ip获得访客所在地地名
121 function Get_Ip_From($ip=''){
122 if(empty($ip)){
123 $ip = self::Getip();
124 }
125 $ip_json=@file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$ip);//根据taobao ip
126 $ip_arr=json_decode(stripslashes($ip_json),1);
127 if($ip_arr['code']==0)
128 {
129 return $ip_arr;
130 }
131 else
132 {
133 return false;
134 }
135
136 }
137
138 }