架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6791|回复: 0

php获取客户端信息(浏览器/IP/操作系统)代码

[复制链接]
发表于 2015-2-24 13:18:14 | 显示全部楼层 |阅读模式
<?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;
     }


}?>

<?php
$code = new clientGetObj;
$str1 = $code->getBrowse();//浏览器:
$str2 = $code->getIP();//IP地址:
$str3 = $code->getOS();//操作系统:
echo "目标浏览器:".$str1." OS:".$str3." IP:".$str2;
?>





上一篇:php获取客户端的ip地址
下一篇:php利用淘宝接口获取用户ip地址
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-3-29 18:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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