note 22692 added to function.get-browser

From: 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

« previous php.notes (#32246) next »