建站软件 优化软件 编程软件 网页辅助 站群程序 网站程序 图像处理 资源教程 字体下载 推荐软件


您的位置:首页 > PHP学习 > 怎么获取客户端信息(浏览器/IP/操作系统)

怎么获取客户端信息(浏览器/IP/操作系统)

时间:2016-05-11 10:45:34  来源:免费模板网 作者:风雪 阅读次数 tags客户端浏览器php

有时候要获取客户端的访问者信息,用的什么浏览器,操作系统是什么,访问者ip等信息,用php怎么获取这些信息呢,看下面代码


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 
  

3. 使用之前定义的类 
$code = new clientGetObj; 
$str1 = $code->getBrowse();//浏览器: 
$str2 = $code->getIP();//IP地址: 
$str3 = $code->getOS();//操作系统: 
echo "目标浏览器:".$str1." OS:".$str3." IP:".$str2; 
?>

本文地址:https://www.freemoban.com/php/2016/0511/2602.html

猜你喜欢
栏目推荐
模板推荐

Copyright:www.freemoban.com 免费模板网 All Rights Reserved 网站备案:辽ICP备19014872号-2   辽公网安备 21010602000376号  辽公网安备:42900402000182号

免责声明:本站部分资源来自互联网收集,版权归原创者所有,如果侵犯了你的权益,我们会及时删除侵权内容,联系QQ:1615187561 谢谢合作!