<?
/*
作用:取得客户端信息
参数:
返回:指定的资料
使用:
$code = new clientgetobj;
1、浏览器:$str = $code->getbrowse();
2、ip地址:$str = $code->getip();
4、操作系统:$str = $code->getos();
*/
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;
}
}
?>
新闻热点
疑难解答