Como identificar o navegador utilizado em PHP
Trabalhando em um projeto de um cliente da Verticis, nos deparamos com um problema, a incompatibilidade do código em certos navegadores. Como resolver isto? Não poderia alterar o código-fonte e não desejava fazer alguma “gambiarra” para contornar a situação. Desta maneira, recorri ao PHP para resolver o problema.
Pesquisando na internet, encontrei informações sobre o a variável de servidor $_SERVER, que é um array contendo informações sobre o servidor e a conexão com o mesmo. Dentre das informações contidas, temos HTTP_USER_AGENT, que informa o conteúdo do header User-Agent.
<?php echo($_SERVER['HTTP_USER_AGENT']); ?>
O retorno desta função pode ser algo como o exemplo abaixo (irá variar de acordo com o navegador utilizado):
Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729) FirePHP/0.4
Bom, com estas informações, e com a ajuda da expressão regular, conseguimos realizar um browser checker, verificando alguns navegadores pré-definidos:
<?php $useragent = $_SERVER['HTTP_USER_AGENT']; if (preg_match('|MSIE ([0-9].[0-9]{1,2})|',$useragent,$matched)) { $browser_version=$matched[1]; $browser = 'IE'; } elseif (preg_match( '|Opera/([0-9].[0-9]{1,2})|',$useragent,$matched)) { $browser_version=$matched[1]; $browser = 'Opera'; } elseif(preg_match('|Firefox/([0-9\.]+)|',$useragent,$matched)) { $browser_version=$matched[1]; $browser = 'Firefox'; } elseif(preg_match('|Chrome/([0-9\.]+)|',$useragent,$matched)) { $browser_version=$matched[1]; $browser = 'Chrome'; } elseif(preg_match('|Safari/([0-9\.]+)|',$useragent,$matched)) { $browser_version=$matched[1]; $browser = 'Safari'; } else { // browser not recognized! $browser_version = 0; $browser= 'other'; } print "browser: $browser $browser_version"; ?>
A saída será o navegador e sua respectiva versão. Basta manipular este código para sua necessidade.
Até a próxima!
*Post inspirado em “How to check the user’s browser type and platform”
http://www.php-scripts.com/20050912/12/
Sobre o autor
Posts Relacionados
-
http://Website Tiago
-
http://www.temmaistudo.com Adriano Ricardo Alves Nunes
-
http://Website Claudio
-
http://www.temmaistudo.com Adriano Ricardo
-
http://www.jovemclub.com victor
-
http://gtecinformatica.net/blog/ Thiago Henrique
-
Fernando Moreira
-
Thiago Toledo Thiago Toledo
-
Jesus
-
Mauricio Llatorre
-
Flamaury
-
Xd
-
Willian Mendes
-
Kennedy
-
Rodrigo
