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 ;
?>  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值