Get browser properties without browscap in php

There are several methods to get browser properties. php get_browser function is very useful as it return many browser properties.but In for get_browser to work, your browscap configuration setting in php.ini must point to the correct location of the browscap.ini file on your system.

output of get_browser php function

[browser_name_regex] => ^mozilla/5.0 (windows; .; windows nt 5.1; .*rv:.*)
                            gecko/.* firefox/0.9.*$

[browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*)
                            Gecko/* Firefox/0.9*

[parent] => Firefox 0.9

[platform] => WinXP

[browser] => Firefox

[version] => 0.9

[majorver] => 0

[minorver] => 9

[cssversion] => 2

[frames] => 1

[iframes] => 1

[tables] => 1

[cookies] => 1

[backgroundsounds] =>

[vbscript] =>

[javascript] => 1

[javaapplets] => 1

[activexcontrols] =>

[cdf] =>

[aol] =>

[beta] => 1

[win16] =>

[crawler] =>

[stripper] =>

[wap] =>

[netclr] =>

But if you dont have permission to your php.ini file you can use the alternative

$_SERVER[‘HTTP_USER_AGENT’]

HTTP_USER_AGENT response on different browser

FIREFOX

Mozilla/5.0 (Windows NT 6.1; rv:21.0) Gecko/20100101 Firefox/21.0

CHROME

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko)
 Chrome/27.0.1453.116 Safari/537.36

OPERA
Opera/9.80 (Windows NT 6.1) Presto/2.12.388 Version/12.15

SAFARI

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.57.2 (KHTML, like Gecko)
Version/5.1.7 Safari/534.57.2

IE9

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)

IE8

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727;
.NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0)

Based on the above pattern I made a custom php function like get_browser ,
but not provide actually same data provided by get_browser.  it can give you essential information like browser name and its version.

Response :

Array
(
[browser] => Firefox
[version] => 21.0
)

php function alternative to get_browser

function get_browser_properties(){

$browser =array();

$agent=$_SERVER['HTTP_USER_AGENT'];

if(stripos($agent,"firefox")!==false){

$browser['browser'] = 'Firefox'; // Set Browser Name

$domain = stristr($agent, 'Firefox');

$split =explode('/',$domain);

$browser['version'] = $split[1]; // Set Browser Version

}

if(stripos($agent,"Opera")!==false){

$browser['browser'] = 'Opera'; // Set Browser Name

$domain = stristr($agent, 'Version');

$split =explode('/',$domain);

$browser['version'] = $split[1]; // Set Browser Version

}

if(stripos($agent,"MSIE")!==false){

$browser['browser'] = 'Internet Explorer'; // Set Browser Name

$domain = stristr($agent, 'MSIE');

$split =explode(' ',$domain);

$browser['version'] = $split[1]; // Set Browser Version

}

if(stripos($agent,"Chrome")!==false){

$browser['browser'] = 'Google Chrome'; // Set Browser Name

$domain = stristr($agent, 'Chrome');

$split1 =explode('/',$domain);

$split =explode(' ',$split1[1]);

$browser['version'] = $split[0]; // Set Browser Version

}

else if(stripos($agent,"Safari")!==false){

$browser['browser'] = 'Safari'; // Set Browser Name

$domain = stristr($agent, 'Version');

$split1 =explode('/',$domain);

$split =explode(' ',$split1[1]);

$browser['version'] = $split[0]; // Set Browser Version

}

return $browser;

}

Watch this php function live

Demo

How to use.

just simple : if you want to load the css based on browser version or name

$browser_properties = get_browser_properties();

if($browser_properties['browser'] ='Firefox' ) {
?>


< ?php }

else if($browser_properties['browser'] ='Internet Explorer' &&
$browser_properties['version'] < '9' ) { ?>



< ?php }  ?>

Hope  it will help. any feedback for improvement is appreciable.
happy coding.