tags:

views:

222

answers:

5

I tried to search in google but cannot find a complete solution (i only find something detects only the browser's type like firefox, opera) .

i want a php class or code to check the user's Browser including the version and also the operating system.

Thanks

+1  A: 

Hi Tom,

Try this: http://techpatterns.com/downloads/php_browser_detection.php

It's pretty comprehensive in terms of what it can show you... for most of my needs it's OTT but it might suit yours better.

Ninefingers
Thanks so much ninefingers :)
David
Try the chrisschuld.com one too way better than techpatterns.com (see my answer).
AlexV
+2  A: 

This should help you: HTTP USER AGENT

Note: This can be changed by the user and my not be 100% accurate, but there is no way getting around that.

Note2: Depending on what you want this for, remember that this is an unreliable way to serve client specific HTML/javascript. Please see questions such as this: Browser detection versus feature detection

Dan McGrath
A: 

get_browser() gives you browser version and operating system

$browser = get_browser();

foreach ($browser as $name => $value) { echo "$name $value\n"; }

output: browser_name_pattern: Mozilla/4.5.* parent: Netscape 4.0 platform: Linux ...

pedro
+1  A: 

Honestly I used the techpatterns.com one I really don't like it (their programming style and it can takes years to have updates)...

This one is way better and use an Object-Oriented way to do it: http://chrisschuld.com/projects/browser-php-detecting-a-users-browser-from-php/

AlexV
Thanks alex, that's much better :)
David
+1  A: 

PHP actually has a native method for detecting browser info, called get-browser

Directly copied from PHP documentation:

<?php
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";

$browser = get_browser(null, true);
print_r($browser);
?>

The above example will output something similar to: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3

Array
(
    [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] =>
)

Jay Zeng