php如何获取客户端信息?

YGboom 生活常识评论180字数 3455阅读模式

代码入下,只做参考

class userPCInfo{文章源自玩技e族-https://www.playezu.com/98429.html

//获取客户端浏览器文章源自玩技e族-https://www.playezu.com/98429.html

public static function get_client_browser(){文章源自玩技e族-https://www.playezu.com/98429.html

$sys = $_SERVER['']; //获取用户代理字符串文章源自玩技e族-https://www.playezu.com/98429.html

if (stripos($sys, "Firefox/") > 0) {文章源自玩技e族-https://www.playezu.com/98429.html

preg_match("/Firefox/([^;)]+)+/i", $sys, $b);文章源自玩技e族-https://www.playezu.com/98429.html

$exp[0] = "Firefox";文章源自玩技e族-https://www.playezu.com/98429.html

$exp[1] = $b[1]; //获取火狐浏览器的版本号文章源自玩技e族-https://www.playezu.com/98429.html

} elseif (stripos($sys, "Maxthon") > 0) {文章源自玩技e族-https://www.playezu.com/98429.html

preg_match("/Maxthon/([d.]+)/", $sys, $aoyou);文章源自玩技e族-https://www.playezu.com/98429.html

$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[''];

$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[''])) {

$realip = $_SERVER[''];

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

$realip = $_SERVER[''];

} else {

$realip = $_SERVER['REMOTE_ADDR'];

} else {

//不允许就使用getenv获取

if (getenv("")) {

$realip = getenv("");

} elseif (getenv("")) {

$realip = getenv("");

} else {

$realip = getenv("REMOTE_ADDR");

return $realip;

//获取当前ip所在城市

public static function GetIpLookup($ip = ''){

if(empty($ip)){

return '请输入IP地址';

$test= ';

$res = @file_get_contents($test);

return $res;

玩技站长微信
添加好友自动发送入群邀请
weinxin
rainbow-shownow
玩技官方公众号
官方微信公众号
weinxin
PLAYEZU
 
  • 版权提示:本站仅供存储任何法律责任由作者承担▷诈骗举报◁▷新闻不符◁▷我要投稿◁
    风险通知:非原创文章均为网络投稿真实性无法判断,侵权联系2523030730
    免责声明:内容来自用户上传发布或新闻客户端自媒体,切勿!切勿!切勿!添加联系方式以免受骗。
  • 原创转载:https://www.playezu.com/98429.html
    转载说明: 点我前往阅读>>>
匿名

发表评论

匿名网友
确定