Neste tutorial, vamos mostrar como identificar se o seu website está sendo acessado em um computador normal ou em um dispositivo móvel (tipo smartphone ou tablet).

Este método é perfeito para você diferenciar ações que devem ser feitas especificamente para o PC ou para dispositivos móveis. Também serve para diferenciar ações para cada tipo sistema operacional móvel, como: iPhone, iPad, Adroid, webOS, Blackbarry, iPod, Symbiam ou Windows Phone, através do navegador de internet (browser) que o leitor está utilizando. Muito útil para quem está desenvolvendo sites responsivos.

É claro que existem outros métodos bem mais avançados para detectar que tipo de dispositivo o leitor está utilizando para acessar o seu site em PHP, mas acreditem, este é o mais simples que existe. Veja como utilizá-lo a seguir:

Código PHP no topo da página

1. Primeiro coloque o código a seguir no início da página. Este código serve para identificar qual o sistema o leitor esta utilizando quando acessa o seu site, definindo uma variável que utilizaremos como um tipo de seletor. No exemplo abaixo criamos a variável $dispositivo que irá definir se o usuário esta acessando o site de um dispositivo móvel ("mobile") ou de um computador ("computador).

Determinando a condicional para identificar se é um computador ou dispositivo móvel

$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$ipad = strpos($_SERVER['HTTP_USER_AGENT'],"iPad");
$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");
$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");
$symbian = strpos($_SERVER['HTTP_USER_AGENT'],"Symbian");
$windowsphone = strpos($_SERVER['HTTP_USER_AGENT'],"Windows Phone");

if ($iphone || $ipad || $android || $palmpre || $ipod || $berry || $symbian || $windowsphone == true) {
   $dispositivo = "mobile";
 }

else { $dispositivo = "computador";} 

Observe que no código acima nós utilizamos a função string strpos() para identificar se o valor da variável $_SERVER['HTTP_USER_AGENT'] contém os textos que definimos previamente, como: iPhone, iPad, Adroid, webOS, Blackbarry, iPod, Windows Phone ou Symbiam.

Determinando a condicional para identificar um sistema operacional específico

Se você precisa identificar um ou mais dispositivos móveis específicos, utilize o código abaixo. Neste exemplo o seletor $dispositivo irá definir qual o tipo de sistema móvel o leitor está acessando. Veja no exemplo abaixo que identificaremos um dispositivo móvel específico, iPhone ou Android.

$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");

if ($iphone == true) {$dispositivo = "iPhone"; }
if ($android == true) {$dispositivo = "android";}

Código PHP em qualquer parte da página

2. Depois de definido o seletor ($dispositivo), utilize-o através de expressões condicionais para definir as ações específicas para cada tipo de dispositivo. Você pode colocar estas expressões em qualquer parte da página.

Logicamente, quando não se utiliza o seletor acima, todas as ações serão executadas em qualquer aparelho, computadores ou dispositivos móveis.

//Se for um dispositivo móvel
if ($dispositivo == "mobile") {

// AÇÕES EXCLUSIVAS PARA DISPOSITIVOS MÓVEIS

}

//Se for um computador
if ($dispositivo == "computador") {

// AÇÕES EXCLUSIVAS PARA COMPUTADORES

}

//Para rodar em qualquer aparelho, não utilize o seletor $dispositivo

// AÇÕES PARA QUALQUER DISPOSITIVO

Veja o exemplo abaixo:

//Se for um dispositivo móvel
if ($dispositivo == "mobile") {
	echo "<h1> Eu sou um Dispositivo Móvel </h1>";
	echo "Lore Ipsum lorem psumloren lore ipsulorem";
}

//Se for um computador
if ($dispositivo == "computador") {
	echo "<h1> Eu sou um COMPUTADOR </h1>";
	echo '<img src="http://visualdicas.com.br/images/banners/visualdicas_logo2.png">';
}

laughing Teste o código no link: Squids Editor PHP. Clique no botão [Run] para ver o resultado.

 Dica: Redirecionando o site para uma página versão mobile

Você poderá utilizar a identificação do dispositivo como um método de redirecionamento para uma página específica para aparelhos móveis (smartphones ou tablets). Veja o exemplo a seguir.

//Se for um dispositivo móvel
if ($dispositivo == "mobile") {
	header("Location: http://www.blogolista.com/mobile");
}

//Se for um computador
if ($dispositivo == "computador") {
	header("Location: http://www.blogolista.com");
}

Observe que a ação utilizada redireciona o site para uma página específica para aparelhos móveis quando a variável $dispositivo for igual a "mobile". No nosso exemplo utilizamos o redirecionamento para a página http://www.blogolista.com/mobile.

Explicando o código

3. A variável $_SERVER['HTTP_USER_AGENT'] é uma string que denota o agente de usuário pelo qual a página é acessada.

echo $_SERVER['HTTP_USER_AGENT'];

Para maior entendimento do código, acesse o site: phpfiddle.org. Digite o código acima e clique no botão [Run - F9]. Veja o resultado abaixo, onde utilizamos um desktop com Windows 10 e navegador Mozzila Firefox: