Identificar o navegador que um usuário está utilizando pode ser útil em várias situações, como ajustar o layout do seu site para compatibilidade, depuração, ou até para fornecer mensagens personalizadas com base no navegador. Em PHP, é possível detectar o user agent do navegador por meio da superglobal $_SERVER. Neste post, aprenda como identificar o navegador utilizado em PHP.

O que é o user agent?

O User Agent é uma string que contém informações sobre o navegador, o sistema operacional e o dispositivo que o usuário está utilizando para acessar uma página web. Essa string é enviada automaticamente pelos navegadores em cada requisição HTTP.

Você pode acessar o user agent em PHP por meio da variável $_SERVER['HTTP_USER_AGENT'].

Exemplo básico de detecção de navegador

Abaixo está um exemplo simples de como capturar o user agent em PHP:

<?php
// Capturando o User Agent
$user_agent = $_SERVER['HTTP_USER_AGENT'];

echo "Seu navegador é: " . $user_agent;
?>

Saída esperada (exemplo):

Seu navegador é: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36

Neste exemplo, o PHP exibe a string completa do user agent. No entanto, essa string não é muito amigável, já que contém muitas informações. Então, precisamos de uma maneira de interpretar essa string para identificar o navegador de forma mais clara.

1. Verificando o navegador manualmente

Você pode criar um script simples para verificar manualmente a presença de certos padrões no user agent e determinar qual navegador está sendo utilizado.

Exemplo de detecção manual de navegadores:

<?php
// Função para identificar o navegador
function identificarNavegador($user_agent) {
    if (strpos($user_agent, 'Firefox') !== false) {
        return 'Mozilla Firefox';
    } elseif (strpos($user_agent, 'Chrome') !== false) {
        return 'Google Chrome';
    } elseif (strpos($user_agent, 'Safari') !== false && strpos($user_agent, 'Chrome') === false) {
        return 'Apple Safari';
    } elseif (strpos($user_agent, 'Opera') !== false || strpos($user_agent, 'OPR') !== false) {
        return 'Opera';
    } elseif (strpos($user_agent, 'MSIE') !== false || strpos($user_agent, 'Trident') !== false) {
        return 'Internet Explorer';
    } else {
        return 'Navegador desconhecido';
    }
}

// Capturando o User Agent
$user_agent = $_SERVER['HTTP_USER_AGENT'];

// Identificando o navegador
$navegador = identificarNavegador($user_agent);

echo "Você está utilizando o navegador: " . $navegador;
?>

Neste código, a função identificarNavegador() faz uma verificação usando a função strpos() para procurar substrings específicas no user agent que indicam o navegador.

Saída esperada:

Você está utilizando o navegador: Google Chrome

Se o navegador for o Google Chrome, ele será identificado corretamente com base no valor contido no user agent.

2. Usando a classe get_browser() para detectar o navegador

PHP oferece uma função chamada get_browser(), que pode fornecer informações detalhadas sobre o navegador, como nome, versão, e plataforma. No entanto, para utilizar essa função corretamente, é necessário configurar o arquivo browscap.ini no PHP, o que pode não ser possível em todos os ambientes de hospedagem.

Exemplo usando get_browser():

<?php
// Ativando a função get_browser()
$browser = get_browser(null, true);

echo "Você está usando " . $browser['browser'] . " no sistema " . $browser['platform'];
?>

Este exemplo retornará o nome do navegador e o sistema operacional, como:

Você está usando Chrome no sistema Windows

Nota: Certifique-se de que o arquivo browscap.ini esteja configurado no seu servidor para que get_browser() funcione corretamente.

3. Exemplo completo com detecção manual e mensagem personalizada

Veja um exemplo completo de como detectar o navegador e exibir uma mensagem personalizada ao usuário:

<?php
function identificarNavegador($user_agent) {
    if (strpos($user_agent, 'Firefox') !== false) {
        return 'Mozilla Firefox';
    } elseif (strpos($user_agent, 'Chrome') !== false) {
        return 'Google Chrome';
    } elseif (strpos($user_agent, 'Safari') !== false && strpos($user_agent, 'Chrome') === false) {
        return 'Apple Safari';
    } elseif (strpos($user_agent, 'Opera') !== false || strpos($user_agent, 'OPR') !== false) {
        return 'Opera';
    } elseif (strpos($user_agent, 'MSIE') !== false || strpos($user_agent, 'Trident') !== false) {
        return 'Internet Explorer';
    } else {
        return 'Navegador desconhecido';
    }
}

// Capturando o User Agent
$user_agent = $_SERVER['HTTP_USER_AGENT'];

// Identificando o navegador
$navegador = identificarNavegador($user_agent);

// Exibindo uma mensagem personalizada com base no navegador
if ($navegador == 'Google Chrome') {
    echo "Você está utilizando o Google Chrome, aproveite a navegação rápida!";
} elseif ($navegador == 'Mozilla Firefox') {
    echo "Você está usando o Firefox, ótima escolha!";
} else {
    echo "Você está usando o navegador: " . $navegador;
}
?>

Neste exemplo, além de identificar o navegador, exibimos uma mensagem personalizada para os usuários que utilizam Chrome ou Firefox. Para outros navegadores, uma mensagem genérica é exibida.

Identificar o navegador do usuário em PHP é uma tarefa simples, mas que pode ser muito útil em várias situações. Usando a função $_SERVER['HTTP_USER_AGENT'], você pode capturar o user agent e, com algumas verificações, determinar qual navegador o usuário está utilizando.

Se precisar de mais detalhes sobre o navegador e o sistema operacional, a função get_browser() também pode ser usada, embora necessite de configuração adicional.

Com essas técnicas, você pode melhorar a experiência do usuário, ajustando o comportamento do seu site com base no navegador que está sendo utilizado.

QUER APRENDER PHP ORIENTADO A OBJETOS OU APERFEIÇOAR O QUE JÁ SABE?

Então conheça o curso online que já ajudou milhares de pessoas a aprender a programar e desenvolver seus próprios projetos do ZERO e usando orientação a objetos de uma forma fácil de entender.

CLIQUE NA IMAGEM ABAIXO E SAIBA MAIS:

CLIQUE AQUI E SAIBA MAIS

Dúvidas ou sugestões sobre como identificar o navegador utilizado em PHP? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits

Tags:

Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?

Não enviamos spam. Seu e-mail está 100% seguro!

Sobre o Autor

Bene Silva Júnior
Bene Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *