Forum und email

get_browser

(PHP 4, PHP 5)

get_browser — Diz o que o browser do usuário pode fazer

Descrição

object get_browser ([ string $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.

Example#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'].