note 16717 added to function.get-browser
| From: | thallara at NOSPAM dot watson dot wustl dot edu | Date: | Fri, 09 Nov 2001 23:20:24 +0000 |
| Subject: | note 16717 added to function.get-browser | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-20652@lists.php.net to get a copy of this message | ||
A small browser detection class:
blue_detect.php:
<?php
class User_Agent
{
var $vendor;
var $version;
var $platform;
var $ua;
function quick_detect()
{
global $HTTP_USER_AGENT;
$browser = new User_Agent;
$browser->set_ua($HTTP_USER_AGENT);
$browser->parse_ua();
return $browser;
}
function set_ua($HTTP_USER_AGENT)
{
$this->ua = $HTTP_USER_AGENT;
}
function parse_ua()
{
if (ereg( 'MSIE ([0-9].[0-9]{1,2})',$this->ua,$log_version)) {
$this->version=$log_version[1];
$this->vendor='IE';
} elseif (ereg( 'Opera ([0-9].[0-9]{1,2})',$this->ua,$log_version))
{
$this->version=$log_version[1];
$this->vendor='OPERA';
} elseif (ereg(
'Mozilla/([0-9].[0-9]{1,2})',$this->ua,$log_version)) {
$this->version=$log_version[1];
$this->vendor='MOZILLA';
} else {
$this->version=0;
$this->vendor='OTHER';
}
/*
Determine platform
*/
if (strstr($this->ua,'Win')) {
$this->platform='Win';
} else if (strstr($this->ua,'Mac')) {
$this->platform='Mac';
} else if (strstr($this->ua,'Linux')) {
$this->platform='Linux';
} else if (strstr($this->ua,'Unix')) {
$this->platform='Unix';
} else {
$this->platform='Other';
}
}
}
?>
In action:
<?php
include_once('/meat/apache/blue_libs/application/blue_detect.php');
$browser = User_Agent::quick_detect();
print "version: $browser->version <br>";
print "vendor: $browser->vendor <br>";
print "platform: $browser->platform <br>";
print "UA: $browser->ua <br> ";
?>
--
http://www.php.net/manual/en/function.get-browser.php
http://master.php.net/manage/user-notes.php?action=edit+16717
http://master.php.net/manage/user-notes.php?action=delete+16717
http://master.php.net/manage/user-notes.php?action=reject+16717