前言
本文中主要介绍了关于利用PHP获取访客IP、地区位置、浏览器及来源页面等信息的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:
不多说了,每个方法都注释了,可以直接用:
示例代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
<?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 ); return json_decode( $data , $assoc =true); } //获取用户浏览器类型 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' ]; } } |
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。
原文链接:http://www.wangtuizhijia.com/archives/335