php如何获取客户端信息

php如何获取客户端信息

内容导读

收集整理的这篇技术教程文章主要介绍了php如何获取客户端信息,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4178字,纯文字阅读大概需要6分钟

内容图文

用于获取用户客户端信息(推荐学习:PHP视频教程)

<?phpclass userPCInfo{//获取客户端浏览器public static function get_client_browser(){

$sys = $_SERVER['HTTP_USER_AGENT'];
//获取用户代理字符串

if (stripos($sys, "Firefox/") > 0) {



preg_match("/Firefox/([^;)]+)+/i", $sys, $b);



$exp[0] = "Firefox";



$exp[1] = $b[1];
//获取火狐浏览器的版本号

} elseif (stripos($sys, "Maxthon") > 0) {



preg_match("/Maxthon/([d.]+)/", $sys, $aoyou);



$exp[0] = "傲游";



$exp[1] = $aoyou[1];

} elseif (stripos($sys, "MSIE") > 0) {



preg_match("/MSIEs+([^;)]+)+/i", $sys, $ie);



$exp[0] = "IE";



$exp[1] = $ie[1];
//获取IE的版本号

} elseif (stripos($sys, "OPR") > 0) {



preg_match("/OPR/([d.]+)/", $sys, $opera);



$exp[0] = "Opera";



$exp[1] = $opera[1];

} elseif(stripos($sys, "Edge") > 0) {



//win10 Edge浏览器 添加了chrome内核标记 在判断Chrome之前匹配



preg_match("/Edge/([d.]+)/", $sys, $Edge);



$exp[0] = "Edge";



$exp[1] = $Edge[1];

} elseif (stripos($sys, "Chrome") > 0) {



preg_match("/Chrome/([d.]+)/", $sys, $google);



$exp[0] = "Chrome";



$exp[1] = $google[1];
//获取google chrome的版本号

} elseif(stripos($sys,'rv:')>0 && stripos($sys,'Gecko')>0){



preg_match("/rv:([d.]+)/", $sys, $IE);



$exp[0] = "IE";



$exp[1] = $IE[1];

}else {



$exp[0] = "未知浏览器";



$exp[1] = "";

}

return $exp;}//获取客户端操作系统public static function get_client_os(){

$agent = $_SERVER['HTTP_USER_AGENT'];

$os = false;

if (preg_match('/win/i', $agent) && strpos($agent, '95')){



$os = 'Windows 95';

}else if (preg_match('/win 9x/i', $agent) && strpos($agent, '4.90')){



$os = 'Windows ME';

}else if (preg_match('/win/i', $agent) && preg_match('/98/i', $agent)){



$os = 'Windows 98';

}else if (preg_match('/win/i', $agent) && preg_match('/nt 6.0/i', $agent)){



$os = 'Windows Vista';

}else if (preg_match('/win/i', $agent) && preg_match('/nt 6.1/i', $agent)){



$os = 'Windows 7';

}else if (preg_match('/win/i', $agent) && preg_match('/nt 6.2/i', $agent)){



$os = 'Windows 8';

}else if(preg_match('/win/i', $agent) && preg_match('/nt 10.0/i', $agent)){



$os = 'Windows 10';#添加win10判断

}else if (preg_match('/win/i', $agent) && preg_match('/nt 5.1/i', $agent)){



$os = 'Windows XP';

}else if (preg_match('/win/i', $agent) && preg_match('/nt 5/i', $agent)){



$os = 'Windows 2000';

}else if (preg_match('/win/i', $agent) && preg_match('/nt/i', $agent)){



$os = 'Windows NT';

}else if (preg_match('/win/i', $agent) && preg_match('/32/i', $agent)){



$os = 'Windows 32';

}else if (preg_match('/linux/i', $agent)){



$os = 'Linux';

}else if (preg_match('/unix/i', $agent)){



$os = 'Unix';

}else if (preg_match('/sun/i', $agent) && preg_match('/os/i', $agent)){



$os = 'SunOS';

}else if (preg_match('/ibm/i', $agent) && preg_match('/os/i', $agent)){



$os = 'IBM OS/2';

}else if (preg_match('/Mac/i', $agent) && preg_match('/PC/i', $agent)){



$os = 'Macintosh';

}else if (preg_match('/PowerPC/i', $agent)){



$os = 'PowerPC';

}else if (preg_match('/AIX/i', $agent)){



$os = 'AIX';

}else if (preg_match('/HPUX/i', $agent)){



$os = 'HPUX';

}else if (preg_match('/NetBSD/i', $agent)){



$os = 'NetBSD';

}else if (preg_match('/BSD/i', $agent)){



$os = 'BSD';

}else if (preg_match('/OSF1/i', $agent)){



$os = 'OSF1';

}else if (preg_match('/IRIX/i', $agent)){



$os = 'IRIX';

}else if (preg_match('/FreeBSD/i', $agent)){



$os = 'FreeBSD';

}else if (preg_match('/teleport/i', $agent)){



$os = 'teleport';

}else if (preg_match('/flashget/i', $agent)){



$os = 'flashget';

}else if (preg_match('/webzip/i', $agent)){



$os = 'webzip';

}else if (preg_match('/offline/i', $agent)){



$os = 'offline';

}else{



$os = '未知操作系统';

}

return $os;}//获取ip地址public static function get_ip() {

//判断服务器是否允许$_SERVER

if (isset($_SERVER)) {



if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {





$realip = $_SERVER['HTTP_X_FORWARDED_FOR'];



} elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {





$realip = $_SERVER['HTTP_CLIENT_IP'];



} else {





$realip = $_SERVER['REMOTE_ADDR'];



}

} else {



//不允许就使用getenv获取



if (getenv("HTTP_X_FORWARDED_FOR")) {





$realip = getenv("HTTP_X_FORWARDED_FOR");



} elseif (getenv("HTTP_CLIENT_IP")) {





$realip = getenv("HTTP_CLIENT_IP");



} else {





$realip = getenv("REMOTE_ADDR");



}

}

return $realip;}//获取当前ip所在城市public static function GetIpLookup($ip = ''){

if(empty($ip)){



return '请输入IP地址';

}

$test= 'http://ip.taobao.com/service/getIpInfo.php?ip='.$ip;

$res = @file_get_contents($test);

return $res;}}

以上就是php如何获取客户端信息的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的php如何获取客户端信息全部内容,希望文章能够帮你解决php如何获取客户端信息所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com