Detectar Mobile Browsers com PHP

Postado por: Pedro Rogério em
Skyfire

Com o constante crescimento da internet móvel, criar uma versão mobile do seu site não pode ficar para segundo plano. Devido hoje os browsers instalados nos aparelhos celulares serem cada vez mais semelhantes aos browsers desktop, utilizar do atributo media=”handheld” no CSS pode não ser a melhor solução.

Portanto, para você ter certeza de que sua aplicação será acessada corretamente pelos user-agents é aconselhável utilizar alguma linguagem de programação. Calma, você não precisa ficar desesperado por que não sabe programar, o site Detect Mobile Browsers disponibiliza um código para que você possa fazer isso facilmente. Você vai até o site, gera o código como desejar, depois basta fazer o download do mesmo e aplicá-lo ao seu site.

Exemplos

Detectar e redirecionar todas as requisições mobile para o site google.mobi:

< ?php
    include('mobile_device_detect.php');
    mobile_device_detect(true,true,true,true,true,true,'http://google.mobi/',false);
?>

Detectar e redirecionar todas as requisições não mobile para o site google.com:

< ?php
    include('mobile_device_detect.php');
    mobile_device_detect(true,true,true,true,true,true,false,'http://google.com/');
?>

Detectar e redirecionar: Mobiles para google.mobi e não mobiles para google.com:

< ?php
    include('mobile_device_detect.php');
    mobile_device_detect(true,true,true,true,true,true,'http://google.mobi/','http://google.com/');
?>

Incluir um arquivo para browsers mobile e outro para versões não mobile:

< ?php
    include('mobile_device_detect.php');
    if(mobile_device_detect(true,true,true,true,true,true,false,false)){
      include('mobile.html');
    } else {
      include('nao-mobile.html');
    }
?>

Para maiores informações e documentação, visite o site oficial.

Posts Relacionados

Confira também outros artigos interessantes postados aqui no blog.

Sobre Pedro Rogério

Pedro Rogério é desenvolvedor web por paixão, não saberia fazer melhor outra coisa. Além de escrever para o Pinceladas da Web também escreve para o CSS no Lanche, blog voltado ao desenvolvimento front-end.

12 Responses to “Detectar Mobile Browsers com PHP”

  1. Caiu como uma luva, estava usando JS para detecção de resolução e mobile, mas este parece ser melhor, vou estudar.

  2. Social comments and analytics for this post…

    This post was mentioned on Twitter by pinceladasdaweb: Detectar Mobile Browsers com PHP: http://migre.me/cmHj #php…

  3. Fala Pedro blz, gostei muito de seu post hoje, esse lance de termos de desenvolver aplicações para celulares é um fato que está crescente hoje no mercado, só lamento que falte maiores informações ou detalhes do processo de implantação, eu sei que tem os links para os sites citados, mais esses sites são em inglês nem todos lêem o inglês tão bem e se usados tradutores online eles perdem um pouco o sentido, mais parabéns o post é ótimo.

  4. Rodrigo Barba

    Essa ‘classe’ é bastante antiga… mas sempre que usei notei que ela tem problema para reconhecer alguns celulares… A maioria dos Blackberrys sempre deu problema :/

  5. Tem alguns plugins para wordpress que fazem isso também. Baseados nessa classe, em sua maioria. Ele simplesmente detecta o useragent do navegador.

    Pode ser encontrado na página de plugins do wordpress:
    http://wordpress.org/extend/plugins/search.php?q=mobile

    Eu uso no meu site:
    http://eduardo.pacheco.kanema.com.br/?mobile

    Abraço!

  6. Mauro George

    @Rodrigo Barba o problema ta aí, não é uma ‘classe’ e sim apenas uma função.

    Não é legal ter que passar 6 paramêtros até você chegar onde tem que dar os redirect ou não. Poderia vir para todos os mobile como true e você ter apenas que definir para false o que você não queira que funcione assim como as url de redirect.

    Algo do tipo:

    $redirect = new mobileDeviceDetect();
    $redirect->setMobileRedirect = ‘mobile.html’;
    $redirect->setDesktopRedirect = ‘nao-mobile.html’;

    Poderia até tentar fazer algo assim, alguém tem como testar nos mobiles?

  7. Eduardo C. Fontana

    Tah e no caso de um usuario mobile quiser acessar a versão original do site como faz?

    Ele sempre vai redirecionar para a versão especifica?

  8. Bem bacana a solução! E é importante sempre manter atualizada a lista dos devices com os possíveis user agents, para não ter problema de não ser reconhecido!
    Abs!

  9. Acabei de acessar com o opera 9.80 mobile … #fail.

    Opera/9.80 (S60; Sym ….)

    não reconheceu como mobile.

  10. Rafael

    Salvou minha vida!

Leave a Reply