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.
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:
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Sobre o Autor
0 Comentários