(PHP 4, PHP 5, PHP 7)
get_browser — Indica de lo que es capaz el navegador del usuario
Intenta determinar las capacidades del navegador de usuario, buscando la información del navegador en el archivo browscap.ini.
user_agentEl Agente de Usuario a ser analizado. Por defecto, se usa el valor de la cabecera HTTP del Agente de Usuario; sin embargo, se puede modificar esto (es decir, buscar otra información del navegador) pasando este parámetro.
       Se puede saltar este parámetro con un valor NULL.
      
return_array
       Si está establecido a TRUE, esta función devolverá un array
       en vez de un object.
      
   La información es devuelta en un objeto o en un array que contendrán
   varios elementos de información que representan, por ejemplo, una cadena con los números de la
   versión mayor y menor del navegador y el ID; valores TRUE/FALSE para características
   tales como marcos, JavaScript, y cookies; etc.
  
El valor cookies simplemente significa que el navegador mismo es capaz de aceptar cookies y no significa si el usuario ha habilitado el navagador para que acepte cookies. La única forma de probar si las cookies son aceptadas es establecer una con setcookie(), recargar, y comprobar su valor.
Ejemplo #1 Listar toda la información sobre el navegador del usuario
<?php
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";
$navegador = get_browser(null, true);
print_r($navegador);
?>
El resultado del ejemplo sería algo similar a:
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] =>
)
Nota:
Para que esto funcione, la configuración de browscap en php.ini debe apuntar a la ubicación correcta del archivo browscap.ini en su sistema.
browscap.ini no está incluido con PHP, pero se pude encontrar un archivo actualizado aquí » php_browscap.ini.
Mientras que browscap.ini contiene información sobre muchos navegadores, recae en el usuario la actualización para mantener la bases de datos vigente. El formato del archivo se explica por sí solo.