Contador de acessos em PHP
Ter um contador de acessos em seu site é uma maneira simples e eficaz de acompanhar quantas vezes uma página foi visualizada pelos visitantes. Com o PHP, é possível criar um contador de acessos que armazena e exibe o número de visitas em tempo real. Neste post, vou te mostrar como implementar isso de forma rápida e fácil.
Por que ter um contador de acessos?
Um contador de acessos pode fornecer informações úteis sobre o tráfego de uma página específica do seu site. Ele ajuda a entender o comportamento dos usuários, monitorar a popularidade de conteúdos e até melhorar estratégias de marketing e SEO.
Como funciona o contador de acessos?
A lógica básica por trás de um contador de acessos em PHP envolve:
- Armazenar o número de visitas: Esse número pode ser salvo em um arquivo de texto ou em um banco de dados.
- Incrementar o contador: Cada vez que a página é carregada, o número de visitas é incrementado.
- Exibir o contador: O valor atualizado é exibido ao visitante.
Criando o contador de acessos com arquivo de texto
Para esse exemplo simples, vamos armazenar o número de acessos em um arquivo de texto, que será lido e atualizado a cada visita. Vamos implementar isso passo a passo.
1. Criando o arquivo de texto
Primeiro, crie um arquivo de texto chamado contador.txt no diretório do seu projeto. Inicialmente, coloque o valor 0 dentro dele, que representará o número de acessos.
2. Criando o código PHP
Agora, crie um arquivo PHP que será responsável por ler o valor atual do arquivo, incrementá-lo e exibir o número atualizado de acessos.
<?php
// Caminho para o arquivo de contagem de acessos
$arquivo = "contador.txt";
// Verifica se o arquivo existe
if (file_exists($arquivo)) {
    // Abre o arquivo para leitura e escrita
    $handle = fopen($arquivo, "r+");
    
    // Lê o valor atual do contador
    $visitas = (int)fread($handle, filesize($arquivo));
    
    // Incrementa o contador
    $visitas++;
    
    // Move o ponteiro de volta para o início do arquivo
    rewind($handle);
    
    // Escreve o novo valor no arquivo
    fwrite($handle, $visitas);
    
    // Fecha o arquivo
    fclose($handle);
} else {
    // Se o arquivo não existir, cria o arquivo e define o contador como 1
    $visitas = 1;
    $handle = fopen($arquivo, "w");
    fwrite($handle, $visitas);
    fclose($handle);
}
// Exibe o número de acessos
echo "<h2>Esta página já foi acessada $visitas vezes.</h2>";
?>Explicação do código:
- $arquivo = "contador.txt";: Define o caminho para o arquivo onde o número de acessos será armazenado.
- file_exists(): Verifica se o arquivo de contagem de acessos já existe.
- fopen($arquivo, "r+");: Abre o arquivo em modo de leitura e escrita.
- fread(): Lê o conteúdo do arquivo, que será o número de acessos atual.
- Incremento: O valor de acessos é convertido para inteiro, incrementado em 1, e escrito novamente no arquivo.
- rewind(): Move o ponteiro para o início do arquivo para que o valor atualizado possa ser gravado.
- fwrite(): Escreve o novo valor no arquivo.
- fclose(): Fecha o arquivo para liberar o recurso.
- Exibição: O número de acessos é exibido ao usuário no formato de uma mensagem.
Exemplo de saída:
Se um visitante acessa a página, ele verá algo assim:
Esta página já foi acessada 5 vezes.A cada novo carregamento da página, o valor será atualizado e exibido novamente.
Melhorando o contador com sessões
Para evitar que o contador aumente a cada atualização da página pelo mesmo visitante, você pode usar sessões em PHP. Isso garante que o número de acessos seja incrementado apenas uma vez por sessão de usuário.
Veja uma versão aprimorada do contador usando sessões:
<?php
// Inicia a sessão
session_start();
// Verifica se a sessão de contagem já existe
if (!isset($_SESSION['visitou'])) {
    $_SESSION['visitou'] = true;
    // Caminho para o arquivo de contagem de acessos
    $arquivo = "contador.txt";
    if (file_exists($arquivo)) {
        // Abre o arquivo para leitura e escrita
        $handle = fopen($arquivo, "r+");
        
        // Lê o valor atual do contador
        $visitas = (int)fread($handle, filesize($arquivo));
        
        // Incrementa o contador
        $visitas++;
        
        // Move o ponteiro de volta para o início do arquivo
        rewind($handle);
        
        // Escreve o novo valor no arquivo
        fwrite($handle, $visitas);
        
        // Fecha o arquivo
        fclose($handle);
    } else {
        // Se o arquivo não existir, cria o arquivo e define o contador como 1
        $visitas = 1;
        $handle = fopen($arquivo, "w");
        fwrite($handle, $visitas);
        fclose($handle);
    }
} else {
    // Se a sessão já existir, apenas lê o valor atual sem incrementar
    $arquivo = "contador.txt";
    $handle = fopen($arquivo, "r");
    $visitas = (int)fread($handle, filesize($arquivo));
    fclose($handle);
}
// Exibe o número de acessos
echo "<h2>Esta página já foi acessada $visitas vezes.</h2>";
?>Como funciona?
- Sessões: Com session_start(), verificamos se o visitante já possui uma sessão ativa. Se não houver uma sessão, o contador é incrementado. Caso contrário, ele apenas lê o número atual sem incrementá-lo.
- Evita acessos repetidos: Isso previne que a contagem aumente toda vez que o mesmo usuário atualiza a página, mantendo o contador mais preciso.
Criar um contador de acessos em PHP é uma maneira eficiente de monitorar o tráfego de suas páginas. Utilizando arquivos de texto ou um banco de dados, e adicionando sessões, você pode facilmente implementar essa funcionalidade em qualquer site.
Esse exemplo é uma solução simples e prática, mas pode ser expandida para incluir funcionalidades mais complexas, como contagem de acessos únicos por IP, armazenamento de dados em um banco de dados MySQL, e muito mais.
Dúvidas ou sugestões? Deixem nos comentários!  Para mais dicas, acesse o nosso canal no YouTube: 
 https://youtube.com/criandobits
Aprenda a consertar o próprio computador como um profissional!
Especialize-se em manutenção preventiva e corretiva, diagnósticos de defeitos e upgrades com aulas passo a passo sem enrolação.
Torne-se também um técnico diferenciado e conquiste o emprego dos seus sonhos com este curso completo de Montagem e Manutenção de Desktops e Notebooks.
Sobre o Autor


 
												 
												 
												
0 Comentários