PHP 获取客户端浏览器、IP地址、OS类型
PHP取得客户端信息,作用:取得客户端IP地址、浏览器类型、操作系统信息;参数:见示例;返回值:客户指定的内容。使用方法:先建立对象:$code = new clientGetObj;然后定义需要获取的类型,比如:
1、浏览器:$str = $code->getBrowse();
2、IP地址:$str = $code->getIP();
3、操作系统:$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; } }
代码中注释有些少,不过本类用时候基本不需要修改,只需定义获取的类型就行了。
一、推荐使用迅雷或快车等多线程下载软件下载本站资源。
二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。
三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!
四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.
五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。
六、如需转载本站资源,请注明转载来自并附带链接
七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com
大家评论
站长推荐
点击排行
- 1CSS控制文字在Div最底部显示
- 2Thinkphp5如何配置IP+端口访问项目模块
- 3elementUI el-dialog弹框居中
- 4教你如何搭建及优化站点
- 5国内互联网视频行业运营分析
- 6service mysql start出错,mysql不能启动,解决mysql: unrecognized service错误
- 7CSS实现悬浮顶部的Div工具栏
- 8记一次Thinkphp5.1框架mysql数据库崩溃(SQLSTATE [08004] Too many connections)
- 9连接SQL Server数据库提示:Login failed for user 'sa'错误的解决方案
- 10Thinkphp3.2在centos7上设置计划任务的方法