(PHP 4, PHP 5, PHP 7)
get_browser — Diz o que o browser do usuário pode fazer
$user_agent
] )
get_browser() tenta determinar as
capacidades do browser do usuário. Isto é feito procurando a informação do browser no
arquivo browscap.ini. Por padrão, o valor de
$_SERVER["HTTP_USER_AGENT"] é usado; em qualquer caso você pode alterar isto (ex., procurar
informação de outro browser) passando o parâmetro opcional
user_agent
para a função get_browser().
A informação é retornada como um objeto, que contém vários
elementos com dados representando, por exemplo, os números de versão maior e menor, a string de ID, valores
TRUE
/FALSE
para coisas como frames, JavaScript, e cookies; e assim em diante.
Enquanto browscap.ini contém informações sobre vários browser, ele precisa de atualizações para manter o banco de dados atual. O formato do arquivo é auto-explicatório.
O exemplo a seguir irá mostrar uma possível lista de toda a informação disponível sobre o browser do usuário.
Exemplo #1 Exemplo get_browser()
<?php
echo $_SERVER['HTTP_USER_AGENT'] . "<hr />\n";
$browser = get_browser();
foreach ($browser as $name => $value) {
echo "<b>$name</b> $value <br />\n";
}
?>
A saída do script acima deve ser algo como isto:
Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586)<hr /> <b>browser_name_pattern:</b> Mozilla/4\.5.*<br /> <b>parent:</b> Netscape 4.0<br /> <b>platform:</b> Linux<br /> <b>majorver:</b> 4<br /> <b>minorver:</b> 5<br /> <b>browser:</b> Netscape<br /> <b>version:</b> 4<br /> <b>frames:</b> 1<br /> <b>tables:</b> 1<br /> <b>cookies:</b> 1<br /> <b>backgroundsounds:</b> <br /> <b>vbscript:</b> <br /> <b>javascript:</b> 1<br /> <b>javaapplets:</b> 1<br /> <b>activexcontrols:</b> <br /> <b>beta:</b> <br /> <b>crawler:</b> <br /> <b>authenticodeupdate:</b> <br /> <b>msn:</b> <br />
Para que isto funcione, sua configuração do browscap no php.ini deve apontar para o local correto do arquivo browscap.ini no seu sistema. browscap.ini não vem com o PHP mas você deve encontrar uma versão atualizada » do arquivo browscap.ini. Por padrão,a diretiva browscap esta comentada.
Os valores de cookies simplesmente indicam que que o browser é capaz de receber cookies e não indica que o usuário permite ao browser receber ou não cookies. O unico meio de testar se os cookies são aceitos é criar um com setcookie(), recarregar, e conferir o valor.
Nota: Em versões anteriores ao PHP 4.0.6, você tem que passar o user agent via o parâmetro opcional
user_agent
se a diretiva do PHP register_globals esta em off. Neste caso, você irá passar $HTTP_SERVER_VARS['HTTP_USER_AGENT'].