Atualizado em 24 de Julho de 2013

Verificar Versão do Navegador do usuário com PHP

Olá pessoal,

aqui no blog já vimos como identificar navegador com php, mais um leitor teve a seguinte dúvida. Como verificar a versão do navegador?. Então para o leitor (Jefferson) e outros com a mesma dúvida vamos aprender a verificar a versão do navegador do usuário com PHP.

Vamos usar o mesmo exemplo já visto aqui no blog de identificação do navegador, contudo agora só acrescentando a parte que verifica a versão do navegador.

Vamos ao exemplo:

<?php
$lista_navegadores = array("MSIE", "Firefox", "Chrome", "Safari", "OPR");
$navegador_usado = $_SERVER["HTTP_USER_AGENT"];

foreach($lista_navegadores as $valor_verificar)
 {
  if(strrpos($navegador_usado, $valor_verificar))
  {
   $navegador = $valor_verificar;

   $posicao_inicial = strpos($navegador_usado, $navegador) + strlen($navegador);
   $versao = substr($navegador_usado, $posicao_inicial, 5);
  }
 }

echo "O navegador usado é ".$navegador.", versão ".$versao;
?>

Explicando o script:

No script acima foram acrescentados duas novas linhas (linha 11 e 12), na linha 11 procuramos pelo navegador que o usuário esta utilizando e obtemos a posição inicial dele e o seu tamanho.
Já na linha 12 obtemos uma substring com um total de cinco caracteres. Esta substring e a versão do navegador utilizado.

Observação: veja que o navegador Opera não é chamado por seu nome como Firefox, Safari entre outros, ele segue a mesma linha do Internet Explorer que é chamado por MSIE, já o Opera e referenciado como OPR.


"Esta dica te ajudou de alguma forma?" Então ajude outras pessoas compartilhando este conteúdo com seus amigos! =)


Até a próxima.

Tags:  Comandos PHP | Funções | PHP

Comentários

Sua foto do perfil

Gregory

Então meu amigo, gostaria de usar assim: "Se for diferente do CHROMES, imprima uma mensagem" ? Agradeço desde já.

06 de Janeiro de 2016 - 11:22

Sua foto do perfil

Mauricio Programador

Olá Gregory,

Veja nos comentários abaixo na conversa com CHARLES CORREA, ele gostaria da mesma coisa só que com o Opera, use o mesmo código só adapte para o Chrome.

Abraço.

13 de Janeiro de 2016 - 15:12

Sua foto do perfil

Davi

Bom dia Maurício,
Tenho acompanhado seu trabalho. Em breve enviarei scripts pra ajudar nesse blog, se lhe for útil é claro.

Bom, mas o que tenho visto é que nós desenvolvedores trabalhamos não só em back, mas front-end também e perdemos muito tempo (e tempo é $$) com a tralha chamada Internet Explorer. É como uma praga na nossa lavoura. Então a ideia é o seguinte:

Quem sabe se nós desenvolvedores usarmos um script onde "se" detectado IE, o sistema envia o usuário para uma página onde apresenta uma mensagem dizendo que o navegador apresenta problemas de funcionalidades e oferecemos sugestões de download dos navegadores sérios como FireFox, Chrome, Opera, Safari??
Ficando de fora a opção de download do IE. Quem sabe assim barraremos essa praga.

Assim como a Microsoft força o usuário a adquirir novas versões do windows para usar o IE mais atual(atrasando a atualização do mesmo pros usuários), nós forçaremos a utilização de outros navegadores sérios. Creio que se nós nos unirmos, conseguiremos um resultado bem positivo. Estamos como reféns desse IE, vamos virar o jogo.
Davi.

27 de Fevereiro de 2014 - 05:28

Sua foto do perfil

Mauricio Programador

Olá Davi,

Agradeço sempre pelas visitas e seus comentários, e claro pode enviar scripts sim para iremos compartilhado conhecimento será SUPER válido.

Vou ter que confessar que não faço front-end só back-end mesmo, porém acompanho aqui meus amigos codificadores que tem um grande trabalho com o IE que realmente e muito complicado.

Sua ideia e muito legal e quando falei aqui para o pessoal eles já queriam criar esta página hehehehehe.

Só que existe um outro porém aí o Cliente, que muitas vezes força a empresa pois acha complicado fazer o usuário dar tantos cliente até acessar o site ou seja la o que esteja tentando acessar com o IE, já tive casos em agência onde trabalhei que o cliente exigia que o sistema funciona-se no IE o que vez com que o projeto tivesse uma duração muito maior.

O IE tem uma grande vantagem pelo sistema operacional, pois já vem com a maquina e muito usuários não o atualização e nem alteram o navegador, só que o Google também vem forçando os usuário a usarem o Chrome, pedindo para baixarem assim que entra na sua pagina de busca.

Resumindo amigo, #euapoioestaidea #barremoIE

Grande abraço.

27 de Fevereiro de 2014 - 10:16

Sua foto do perfil

CHARLES CORREA

Grande Mauricio
Belo exemplo, mas e no caso de capturarmos o navegador Opera na versão até a 10 ou 11 é identificado como opera mesmo conforme andei estudando e adaptando o código abaixo

$navegador = $_SERVER['HTTP_USER_AGENT'];
echo "$navegador &lt;br>&lt;br>";


if (preg_match('?MSIE ([0-9].[0-9]{1,2})?',$navegador,$matched)) {
$browser_version=$matched[1];
$browser = 'IE';
} elseif (preg_match( '?Opera/([0-9].[0-9]{1,2})?',$navegador,$matched)) {
$browser_version=$matched[1];
$browser = 'Opera';
} elseif(preg_match('?Firefox/([0-9\.]+)?',$navegador,$matched)) {
$browser_version=$matched[1];
$browser = 'Firefox';
} elseif(preg_match('?Chrome/([0-9\.]+)?',$navegador,$matched)) {
$browser_version=$matched[1];
$browser = 'Chrome';
} elseif(preg_match('?Safari/([0-9\.]+)?',$navegador,$matched)) {
$browser_version=$matched[1];
$browser = 'Safari';
} else {
// browser not recognized!
$browser_version = 0;
$browser= 'other';
}
print "Navegador Atual: $browser Versão $browser_version";

No Opera 12 eu tenho a reposta

Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.16

Navegador Atual: Opera Versão 9.80

Já na versão 17 do opera tenho a seguinte resposta

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36 OPR/17.0.1241.53

Navegador Atual: Chrome Versão 30.0.1599.101

E a agora mister M? O que faço?

Pode me dar uma luz?

08 de Novembro de 2013 - 18:25

Sua foto do perfil

Mauricio Programador

Olá Amigo,

e na verdade o Opera ainda não se definiu no nome que vai usar (hehehehehe) ora ele vem com Opera outra com OPR, mas você pode fazer o seguinte.

Altere o seu código para fica como o seguinte:

 if(substr($navegador, 0, 5) == "Opera")
 {
  $posicao_inicial = strpos($navegador, "Version") + strlen("Version");
  $versao = substr($navegador, $posicao_inicial, 5);

  $browser_version = $versao;
  $browser = 'Opera';
 }elseif(strrpos($navegador, 'OPR')){
  $posicao_inicial = strpos($navegador, 'OPR') + strlen('OPR');
  $browser_version= substr($navegador, $posicao_inicial, 5);

  $browser = 'Opera';
 }elseif(preg_match('?MSIE ([0-9].[0-9]{1,2})?',$navegador,$matched))
 {
  ...

e veja se isso ajuda.

Qualquer coisa comenta aí.

Grande Abraço.

09 de Novembro de 2013 - 10:01

Sua foto do perfil

CHARLES CORREA

Que coisa hein, não sabia disso nas novas versões do Opera. Bom vou usar a modificação que passou pra ver no que dá. Agradeço a atenção do amigo para solução do caso.

Grande abraço e sucesso ao amigo

11 de Novembro de 2013 - 09:28

NEWSLETTER

Receba dicas de programação
em seu e-mail

TWITTER

Acompanhe tudo o que rola
com Mauricio Programador

NEWSLETTER