note 22692 added to function.get-browser
| From: | meddle_AT_dzygn.com@php.net | Date: | Wed, 26 Jun 2002 21:32:11 +0000 |
| Subject: | note 22692 added to function.get-browser | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-32246@lists.php.net to get a copy of this message | ||
I use the following code to detect browser/OS with PHP. Obviously it's not perfect but I get
quite a good info with this. Enjoy it and let me know if you find this useful for your site.
// **** Detailed Browser detection **** //
// **** by http://meddle.dzygn.com **** //
$daUAgent = $HTTP_USER_AGENT;
$br = strtolower(getenv("HTTP_USER_AGENT"));
if(
(ereg("icab", $br)) )
$browser = "iCab";
if(
(ereg("netscape6", $br)) ||
(ereg("netscape 6", $br)) )
$browser = "Netscape 6";
elseif(
(ereg("netscape7", $br)) ||
(ereg("netscape 7", $br)) )
$browser = "Netscape 7";
elseif(ereg("konqueror", $br))
$browser = "Konqueror";
elseif(ereg("galeon", $br))
$browser = "Galeon";
elseif(ereg("nautilus", $br))
$browser = "Nautilus";
elseif(ereg("lynx", $br))
$browser = "Lynx";
elseif(
// mozilla check:
(ereg("mozilla", $br)) AND
(
(!ereg("msie", $br)) &&
(!ereg("/4.", $br)) &&
(!ereg("gold", $br)) ))
{
$brl=strlen($br);
$par=substr(strrchr($br, ")"), 1);$parl=strlen($par);
$dos=substr(strrchr($br, ":"), 1);$dosl=strlen($dos);$verl=$dosl-$parl;
$ver=substr($br, ($brl-$dosl), ($verl-1));
$browser = "Mozilla ".$ver;
}
elseif(ereg("webtv", $br))
$browser = "WebTV";
elseif(ereg("msie", $br)) {
if(ereg("msie 4.0", $br)) $browser = "Explorer 4";
elseif(ereg("msie 5.0", $br)) $browser = "Explorer 5";
elseif(ereg("msie 5.1", $br)) $browser = "Explorer 5.1";
elseif(ereg("msie 5.2", $br)) $browser = "Explorer 5.2";
elseif(ereg("msie 5.5", $br)) $browser = "Explorer 5.5";
elseif(ereg("msie 6.0", $br)) $browser = "Explorer 6"; }
elseif(ereg("opera", $br)) {
if(ereg("opera/4", $br)) $browser = "Opera 4";
elseif(ereg("opera/5", $br)) $browser = "Opera 5";
elseif(ereg("opera/6", $br)) $browser = "Opera 6";
}
elseif(
(ereg("gold", $br)) )
$browser = "Netscape 3";
elseif(
(ereg("nav", $br)) ||
(ereg("netscape", $br)) ||
(ereg("/4.", $br)) )
$browser = "Netscape 4";
else $browser = "Other";
// **** Detects Operating System - Platform - Robots: **** //
if (strstr($daUAgent,'Win')) {
if (strstr($daUAgent,'NT 5.0') || strstr($daUAgent,'NT5.0') ||
strstr($daUAgent,'Windows 2000')) {
$platf='Windows 2000';
} else if (strstr($daUAgent,'NT 5.1') || strstr($daUAgent,'NT5.1') ||
strstr($daUAgent,'Windows XP')) {
$platf='Windows XP';
} else if (strstr($daUAgent,'Win98') || strstr($daUAgent,'Windows 98')) {
$platf='Windows 98';
} else if (strstr($daUAgent,'NT')) {
$platf='Windows NT';
} else if (strstr($daUAgent,'Win95') || strstr($daUAgent,'Windows 95')) {
$platf='Windows 95';
} else if (strstr($daUAgent,'WinME') || strstr($daUAgent,'Windows ME')) {
$platf='Windows ME';
} else {
$platf='Other Windows';
}
} else if (strstr($daUAgent,'Mac')) {
$platf='Apple';
} else if (strstr($daUAgent,'Linux')) {
$platf='Linux';
} else if (strstr($daUAgent,'Unix')) {
$platf='Unix';
} else if (strstr($daUAgent,'SunOS')) {
$platf='SunOS';
} else if (strstr($daUAgent,'FreeBSD')) {
$platf='FreeBSD';
} else if (strstr($daUAgent,'IRIX')) {
$platf='IRIX';
} else if (strstr($daUAgent,'spider') || strstr($daUAgent,'bot') ||
strstr($daUAgent,'http') || strstr($daUAgent,'Scooter') ||
strstr($daUAgent,'WebCopier') ) {
$platf='Spiders';
} else {
$platf='Other';
}
Sergi
http://meddle.dzygn.com
--
http://www.php.net/manual/en/function.get-browser.php
http://master.php.net/manage/user-notes.php?action=edit+22692
http://master.php.net/manage/user-notes.php?action=delete+22692
http://master.php.net/manage/user-notes.php?action=reject+22692