欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php 获取浏览器名称版本实例程序_PHP教程

程序员文章站 2022-06-03 09:51:50
...
获取浏览器版本在php中直接使用HTTP_USER_AGENT就可以了,但是要具体判断是那个浏览器,什么版本我们需要一个个去判断了,

例1

代码如下 复制代码

function get_user_browser() {
if (empty($_SERVER['HTTP_USER_AGENT'])) {
return '';
}

$agent = $_SERVER['HTTP_USER_AGENT'];
$browser = '';
$browser_ver = '';

if (preg_match('/MSIEs([^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('/NetCaptors([^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';
}
}

实例

代码如下 复制代码

function get_user_browser()
{
if (empty($_SERVER['HTTP_USER_AGENT']))
{ //当浏览器没有发送访问者的信息的时候
return '';
}

$agent = $_SERVER['HTTP_USER_AGENT'];
$browser = '';
$browser_ver = '';

if (preg_match('/MSIEs([^s|;]+)/i', $agent, $regs))
{
$browser = 'Internet Explorer'; //当匹配到了MSIE 的时候,取得数字的那一部分房在数组$regs里
$browser_ver = $regs[1];
}
elseif (preg_match('/FireFox/([^s]+)/i', $agent, $regs))
{
$browser = 'FireFox'; //当匹配到了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('/NetCaptors([^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';
}
}


判断是否为蜘蛛

function is_spider($record = true) //判断是否为蜘蛛
{
static $spider = NULL;

if ($spider !== NULL)
{
return $spider; //
}

if (empty($_SERVER['HTTP_USER_AGENT']))
{
$spider = '';

return '';
}

$searchengine_bot = array(
'googlebot',
'mediapartners-google',
'baiduspider+',
'msnbot',
'yodaobot',
'yahoo! slurp;',
'yahoo! slurp china;',
'iaskspider',
'sogou web spider',
'sogou push spider'
);

$searchengine_name = array(
'GOOGLE',
'GOOGLE ADSENSE',
'BAIDU',
'MSN',
'YODAO',
'YAHOO',
'Yahoo China',
'IASK',
'SOGOU',
'SOGOU'
);

$spider = strtolower($_SERVER['HTTP_USER_AGENT']); //将用户浏览器信息转成小写

foreach ($searchengine_bot AS $key => $value)
{
if (strpos($spider, $value) !== false) //绝对不等于,避免字符串出现为止为0的这种情况
{
$spider = $searchengine_name[$key]; //返回对应的seo/seo.html" target="_blank">搜索引擎名

return $spider;
}
}

$spider = '';

return '';
}

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/631523.htmlTechArticle获取浏览器版本在php中直接使用HTTP_USER_AGENT就可以了,但是要具体判断是那个浏览器,什么版本我们需要一个个去判断了, 例1 代码如下 复...