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

本文介绍了一个简单的PHP类,用于从HTTP_USER_AGENT中提取浏览器类型、版本及操作系统等信息。通过实例演示了如何获取客户端的浏览器名称、版本号和IP地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?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、付费专栏及课程。

余额充值