前言
本文中主要介绍了关于利用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