现在的位置: 首页 -> PHP学习 -> PHP源码 -> php获得客户端浏览器的名称及版本

php获得客户端浏览器的名称及版本

2014-05-20 23:09评论数 0 ⁄ 被浏览 10642 views+

看到ecshop中有这么一个函数get_user_browser(),获取浏览器的名称和版本。虽然获取的信息只是简单的一些信息,但是还是很实用。其原理主要是通过$_SERVER['HTTP_USER_AGENT']获得浏览器信息,再用正则进行比对得出浏览器的信息。


以下是各浏览器运行的效果:


php获得客户端浏览器的名称及版本


php获得客户端浏览器的名称及版本


php获得客户端浏览器的名称及版本


源码如下:


<?php

function get_user_browser()

{

if (empty($_SERVER['HTTP_USER_AGENT']))

{

return '';

}

$agent       = $_SERVER['HTTP_USER_AGENT'];

$browser     = '';

$browser_ver = '';

if (preg_match('/MSIE\s([^\s|;]+)/i', $agent, $regs))

{

$browser     = 'Internet Explorer';

$browser_ver = $regs[1];

}

elseif (preg_match('/FireFox\/([^\s]+)/i', $agent, $regs))

{

$browser     = 'FireFox';

$browser_ver = $regs[1];

}

elseif (preg_match('/Maxthon/i', $agent, $regs))

{

$browser     = '(Internet Explorer ' .$browser_ver. ') Maxthon';

$browser_ver = '';

}

elseif (preg_match('/Opera[\s|\/]([^\s]+)/i', $agent, $regs))

{

$browser     = 'Opera';

$browser_ver = $regs[1];

}

elseif (preg_match('/OmniWeb\/(v*)([^\s|;]+)/i', $agent, $regs))

{

$browser     = 'OmniWeb';

$browser_ver = $regs[2];

}

elseif (preg_match('/Netscape([\d]*)\/([^\s]+)/i', $agent, $regs))

{

$browser     = 'Netscape';

$browser_ver = $regs[2];

}

elseif (preg_match('/safari\/([^\s]+)/i', $agent, $regs))

{

$browser     = 'Safari';

$browser_ver = $regs[1];

}

elseif (preg_match('/NetCaptor\s([^\s|;]+)/i', $agent, $regs))

{

$browser     = '(Internet Explorer ' .$browser_ver. ') NetCaptor';

$browser_ver = $regs[1];

}

elseif (preg_match('/Lynx\/([^\s]+)/i', $agent, $regs))

{

$browser     = 'Lynx';

$browser_ver = $regs[1];

}

if (!empty($browser))

{

return addslashes($browser . ' ' . $browser_ver);

}

else

{

return 'Unknow browser';

}

}


echo get_user_browser();


?>

 

文章出自:https://www.daixiaorui.com/read/91.html 本站所有文章,除注明出处外皆为原创,转载请注明本文地址,版权所有。

目前有 0 条评论  @我要评论

    您的每一个评论都是对我的一份支持

     博客二维码

    昵称 *

    邮箱 *