获取浏览器版本在php中直接使用http_user_agent就可以了,但是要具体判断是那个浏览器,什么版本我们需要一个个去判断了,实例代码如下:
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('/Chrome\/([\d.]+)/i', $agent, $regs)) {
$browser = 'Chrome';
$browser_ver = $regs[1];
} 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';
}
}注意:chrome使用了webkit的部分代码,webkit是苹果开发的,所以需要将chrome的识别放在safari前面。
判断是否为蜘蛛:
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',
'baidu',
'msnbot',
'yodaobot',
'yahoo! slurp;',
'yahoo! slurp china;',
'iaskspider',
'sogou web spider',
'sogou push spider'
'haosou'
);
$searchengine_name = array(
'GOOGLE',
'GOOGLE ADSENSE',
'BAIDU',
'MSN',
'YODAO',
'YAHOO',
'Yahoo China',
'IASK',
'SOGOU',
'SOGOU'
'HAOSOU'
);
$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 '';
}
文章地址:
PHP经典实例(第2版)能够为您节省宝贵的Web开发时间。有了这些针对真实问题的解决方案放在手边,大多数编程难题都会迎刃而解。《PHP经典实例(第2版)》将PHP的特性与经典实例丛书的独特形式组合到一起,足以帮您成功地构建跨浏览器的Web应用程序。在这个修订版中,您可以更加方便地找到各种编程问题的解决方案,《PHP经典实例(第2版)》中内容涵盖了:表单处理;Session管理;数据库交互;使用We
470
转载随意^^请带上本文地址!
立即学习“PHP免费学习笔记(深入)”;
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号