PHP获取浏览器名称,版本号
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]; //返回对应的搜索引擎名
return $spider;
}
}
$spider = ;
return ;
}
获取客户端操作系统
function get_os()
{
if (empty($_SERVER[HTTP_USER_AGENT]))
{
return Unknown;
}
$agent = strtolower($_SERVER[HTTP_USER_AGENT]);
$os = ;
if (strpos($agent, win) !== false)
{
if (strpos($agent, nt 5.1) !== false)
{
$os = Windows XP;
}
elseif (strpos($agent, nt 5.2) !== false)
{
$os = Windows 2003;
}
elseif (strpos($agent, nt 5.0) !== false)
{
$os = Windows 2000;
}
elseif (strpos($agent, nt 6.0) !== false)
{
$os = Windows Vista;
}
elseif (strpos($agent, nt) !== false)
{
$os = Windows NT;
}
elseif (strpos($agent, win 9x) !== false && strpos($agent, 4.90) !== false)
{
$os = Windows ME;
}
elseif (strpos($agent, 98) !== false)
{
$os = Windows 98;
}
elseif (strpos($agent, 95) !== false)
{
$os = Windows 95;
}
elseif (strpos($agent, 32) !== false)
{
$os = Windows 32;
}
elseif (strpos($agent, ce) !== false)
{
$os = Windows CE;
}
}
elseif (strpos($agent, linux) !== false)
{
$os = Linux;
}
elseif (strpos($agent, unix) !== false)
{
$os = Unix;
}
elseif (strpos($agent, sun) !== false && strpos($agent, os) !== false)
{
$os = SunOS;
}
elseif (strpos($agent, ibm) !== false && strpos($agent, os) !== false)
{
$os = IBM OS/2;
}
elseif (strpos($agent, mac) !== false && strpos($agent, pc) !== false)
{
$os = Macintosh;
}
elseif (strpos($agent, powerpc) !== false)
{
$os = PowerPC;
}
elseif (strpos($agent, aix) !== false)
{
$os = AIX;
}
elseif (strpos($agent, hpux) !== false)
{
$os = HPUX;
}
elseif (strpos($agent, netbsd) !== false)
{
$os = NetBSD;
}
elseif (strpos($agent, bsd) !== false)
{
$os = BSD;
}
elseif (strpos($agent, osf1) !== false)
{
$os = OSF1;
}
elseif (strpos($agent, irix) !== false)
{
$os = IRIX;
}
elseif (strpos($agent, freebsd) !== false)
{
$os = FreeBSD;
}
elseif (strpos($agent, teleport) !== false)
{
$os = teleport;
}
elseif (strpos($agent, flashget) !== false)
{
$os = flashget;
}
elseif (strpos($agent, webzip) !== false)
{
$os = webzip;
}
elseif (strpos($agent, offline) !== false)
{
$os = offline;
}
else
{
$os = Unknown;
}
return $os;
}