Você está na página 1de 5

23/02/2019 Identificar se o dispositivo é móvel - PHP - Portal Visual Dicas

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 == t


$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.

https://www.visualdicas.com.br/programacao/php/18-identificar-se-o-dispositivo-e-movel-php 1/5
23/02/2019 Identificar se o dispositivo é móvel - PHP - Portal Visual Dicas

//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">';
}

Teste o código no link: http://phpfiddle.org/lite/code/ttkm-zhxv. 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") {
echo "<h1> Eu sou um COMPUTADOR </h1>";
echo '<img src="http://visualdicas.com.br/images/banners/visualdicas_logo2.png">';
}

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.

https://www.visualdicas.com.br/programacao/php/18-identificar-se-o-dispositivo-e-movel-php 2/5
23/02/2019 Identificar se o dispositivo é móvel - PHP - Portal Visual Dicas

Teste o nosso código no link: http://phpfiddle.org/main/code/76ai-ny6m. Clique no botão


[Run - F9] para ver o resultado.

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:

4. Verificando se a variável $windows é verdadeira. No exemplo a seguir vamos entender o uso da


função strpos() e a condicional if ($windows==true) no código:

<?php

echo $_SERVER['HTTP_USER_AGENT'];
echo '<br/><br/>';

$windows = strpos($_SERVER['HTTP_USER_AGENT'],"Windows");
echo $windows;
echo '<br/><br/>';

if ($windows==true) {echo 'Meu sistema operacional é Windows';}

?>

5. Para maior entendimento do código, acesse o site: phpfiddle.org. Digite o código do exemplo acima e clique
no botão [Run - F9].

https://www.visualdicas.com.br/programacao/php/18-identificar-se-o-dispositivo-e-movel-php 3/5
23/02/2019 Identificar se o dispositivo é móvel - PHP - Portal Visual Dicas

Inicialmente, a função stropos() verifica se existe a palavra ""windows" na variável


$_SERVER['HTTP_USER_AGENT'] e indica qual é a posição inicial desta palavra. Observe no exemplo,
conforme figura acima, que a palavra Windows aparece imediatamente após o 13º caractere.
Portanto, a variável $windows = 13.

Como a palavra "windows" aparece na string $_SERVER[, é retornado o valor lógico "true" validando a
condicional if ($windows==true).

Este mesmo processo, por analogia, será utilizado em nosso código para identificar os dispositivos
móveis que os usuários estiverem acessando.

Código completo do exemplo (sem redirecionamento)


6. Para usar nos seu projetos.

<?php

// verificar se o dispositivo é móvel ou desktop


$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 == t


$dispositivo = "mobile";
}

else { $dispositivo = "computador";}

// Definindo as ações para dispositivos móveis, desktop e para todos dispositivos

//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">';
}

//Em todos aparelhos


echo "<h1> Sem o seletor, apareço em qualquer aparelho </h1>";
echo "bla bla bla bla bla ...";

?>

Acesse o nosso o código no link: http://phpfiddle.org/lite/code/ttkm-zhxv. Clique no botão [Run]


para ver o resultado.

https://www.visualdicas.com.br/programacao/php/18-identificar-se-o-dispositivo-e-movel-php 4/5
23/02/2019 Identificar se o dispositivo é móvel - PHP - Portal Visual Dicas

Resultado do exemplo
7. Se o leitor está utilizando um computador.

8. Se o leitor está utilizando um dispositivo móvel.

O anúncio abaixo ajuda manter o Portal Visual Dicas

https://www.visualdicas.com.br/programacao/php/18-identificar-se-o-dispositivo-e-movel-php 5/5