一个php获取客户端ip,操作系统,浏览器信息的类

以下为引用的内容:
<?php class clientGetObj
{
function
getBrowse
()
{
global
$_SERVER
;
$Agent = $_SERVER[‘HTTP_USER_AGENT’
];
$browser =
;
$browserver =
;
$Browser = array(‘Lynx’, ‘MOSAIC’, ‘AOL’, ‘Opera’, ‘JAVA’, ‘MacWeb’, ‘WebExplorer’, ‘OmniWeb’
);
for(
$i = 0; $i <= 7; $i
++){
if(
strpos($Agent, $Browsers[$i
])){
$browser = $Browsers[$i
];
$browserver =
;
}
}
if(
ereg(‘Mozilla’, $Agent) && !ereg(‘MSIE’, $Agent
)){
$temp = explode(‘(‘, $Agent
);
$Part = $temp[0
];
$temp = explode(‘/’, $Part
);
$browserver = $temp[1
];
$temp = explode(‘ ‘, $browserver
);
$browserver = $temp[0
];
$browserver = preg_replace(‘/([d.]+)/’, ‘1’, $browserver
);
$browserver = $browserver
;
$browser = ‘Netscape Navigator’
;
}
if(
ereg(‘Mozilla’, $Agent) && ereg(‘Opera’, $Agent
)) {
$temp = explode(‘(‘, $Agent
);
$Part = $temp[1
];
$temp = explode(‘)’, $Part
);
$browserver = $temp[1
];
$temp = explode(‘ ‘, $browserver
);
$browserver = $temp[2
];
$browserver = preg_replace(‘/([d.]+)/’, ‘1’, $browserver
);
$browserver = $browserver
;
$browser = ‘Opera’
;
}
if(
ereg(‘Mozilla’, $Agent) && ereg(‘MSIE’, $Agent
)){
$temp = explode(‘(‘, $Agent
);
$Part = $temp[1
];
$temp = explode(‘;’, $Part
);
$Part = $temp[1
];
$temp = explode(‘ ‘, $Part
);
$browserver = $temp[2
];
$browserver = preg_replace(‘/([d.]+)/’,‘1’,$browserver
);
$browserver = $browserver
;
$browser = ‘Internet Explorer’
;
}
if(
$browser !=
){
$browseinfo = $browser.‘ ‘.$browserver
;
} else {
$browseinfo = false
;
}
return
$browseinfo
;
}

function getIP ()
{
global
$_SERVER
;
if (
getenv(‘HTTP_CLIENT_IP’
)) {
$ip = getenv(‘HTTP_CLIENT_IP’
);
} else if (
getenv(‘HTTP_X_FORWARDED_FOR’
)) {
$ip = getenv(‘HTTP_X_FORWARDED_FOR’
);
} else if (
getenv(‘REMOTE_ADDR’
)) {
$ip = getenv(‘REMOTE_ADDR’
);
} else {
$ip = $_SERVER[‘REMOTE_ADDR’
];
}
return
$ip
;
}

function getOS ()
{
global
$_SERVER
;
$agent = $_SERVER[‘HTTP_USER_AGENT’
];
$os = false
;
if (
eregi(‘win’, $agent) && strpos($agent, ’95’
)){
$os = ‘Windows 95’
;
}
else if (
eregi(‘win 9x’, $agent) && strpos($agent, ‘4.90’
)){
$os = ‘Windows ME’
;
}
else if (
eregi(‘win’, $agent) && ereg(’98’, $agent
)){
$os = ‘Windows 98’
;
}
else if (
eregi(‘win’, $agent) && eregi(‘nt 5.1’, $agent
)){
$os = ‘Windows XP’
;
}
else if (
eregi(‘win’, $agent) && eregi(‘nt 5’, $agent
)){
$os = ‘Windows 2000’
;
}
else if (
eregi(‘win’, $agent) && eregi(‘nt’, $agent
)){
$os = ‘Windows NT’
;
}
else if (
eregi(‘win’, $agent) && ereg(’32’, $agent
)){
$os = ‘Windows 32’
;
}
else if (
eregi(‘linux’, $agent
)){
$os = ‘Linux’
;
}
else if (
eregi(‘unix’, $agent
)){
$os = ‘Unix’
;
}
else if (
eregi(‘sun’, $agent) && eregi(‘os’, $agent
)){
$os = ‘SunOS’
;
}
else if (
eregi(‘ibm’, $agent) && eregi(‘os’, $agent
)){
$os = ‘IBM OS/2’
;
}
else if (
eregi(‘Mac’, $agent) && eregi(‘PC’, $agent
)){
$os = ‘Macintosh’
;
}
else if (
eregi(‘PowerPC’, $agent
)){
$os = ‘PowerPC’
;
}
else if (
eregi(‘AIX’, $agent
)){
$os = ‘AIX’
;
}
else if (
eregi(‘HPUX’, $agent
)){
$os = ‘HPUX’
;
}
else if (
eregi(‘NetBSD’, $agent
)){
$os = ‘NetBSD’
;
}
else if (
eregi(‘BSD’, $agent
)){
$os = ‘BSD’
;
}
else if (
ereg(‘OSF1’, $agent
)){
$os = ‘OSF1’
;
}
else if (
ereg(‘IRIX’, $agent
)){
$os = ‘IRIX’
;
}
else if (
eregi(‘FreeBSD’, $agent
)){
$os = ‘FreeBSD’
;
}
else if (
eregi(‘teleport’, $agent
)){
$os = ‘teleport’
;
}
else if (
eregi(‘flashget’, $agent
)){
$os = ‘flashget’
;
}
else if (
eregi(‘webzip’, $agent
)){
$os = ‘webzip’
;
}
else if (
eregi(‘offline’, $agent
)){
$os = ‘offline’
;
}
else {
$os = ‘Unknown’
;
}
return
$os
;
}

}?>

使用方法:

1.将以上框内代码另存为getinfo.php

2.在需要地页面引入getinfo.php
<?php incude(‘getinfo.php’); ?>

3. 使用之前定义的类

以下为引用的内容:
<?php
$code = new clientGetObj;
$str1 = $code->getBrowse();//浏览器:
$str2 = $code->getIP();//IP地址:
$str3 = $code->getOS();//操作系统:
echo “目标浏览器:”.$str1.” OS:”.$str3.” IP:”.$str2;
?>

发表评论