设为首页 收藏本站
查看: 562|回复: 0

[经验分享] php获取客户端信息(浏览器/IP/操作系统)代码

[复制链接]

尚未签到

发表于 2015-8-26 04:12:59 | 显示全部楼层 |阅读模式
以下为引用的内容:
<?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
;
     }

}
?>
de>   
  使用方法:
  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;
?>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-104188-1-1.html 上篇帖子: php.ini配置中文详解 下篇帖子: PHP:面向对象学习笔记,重点模拟Mixin(掺入)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表