Vamos construir um simples e funcional contador de visitas utilizando puramente o PHP e seus recursos nativos, ou seja, nada de importar bibliotecas de terceiros. Esse projeto embora seja simples e pode ser utilizado em ambiente de produção.
Utilizando o poder da Programação Orientada a Objetos, vamos construir uma classe que permita manipular os acessos de diferentes páginas. Todos os acessos são persistidos em arquivo de texto, sem a necessidade de um banco de dados.
As classes fopen, fwrite, fclose e fread são funções do PHP utilizadas para manipulação de arquivos de texto. Elas desempenham um papel fundamental no desenvolvimento do contador de visitas.
A função fopen é utilizada para abrir um arquivo em modo de leitura ou escrita, retornando um ponteiro de arquivo que será utilizado pelas outras funções para acessar o conteúdo do arquivo. No contexto do contador de visitas, ela seria utilizada para abrir o arquivo de texto onde os acessos são registrados.
A função fwrite permite escrever dados em um arquivo aberto anteriormente com a função fopen. Ela recebe o ponteiro de arquivo e o conteúdo a ser escrito. No caso do contador de visitas, essa função seria utilizada para registrar cada acesso no arquivo de texto.
A função fclose é responsável por fechar o arquivo aberto com a função fopen. Isso é importante para liberar os recursos utilizados pelo sistema operacional. No contador de visitas, ela seria usada para encerrar o arquivo de texto após a escrita dos dados.
Por fim, a função fread permite ler o conteúdo de um arquivo aberto com a função fopen. Ela recebe o ponteiro de arquivo e a quantidade de bytes a serem lidos. No contexto do contador de visitas, essa função poderia ser utilizada para ler o número total de acessos registrados no arquivo de texto. Utilizaremos ela com a função filesize()
.
Em resumo, essas funções permitem abrir, escrever, ler e fechar arquivos de texto, possibilitando a persistência dos dados de acesso do contador de visitas em um arquivo específico. Com sua utilização adequada, é possível implementar um contador de visitas funcional sem a necessidade de um banco de dados, apenas com o PHP e suas funcionalidades nativas.
Assista a nossa videoaula para aprender a criar o seu contador de visitas em PHP.
Todo código utilizado na videoaula está abaixo.
<?php
class Contador
{
private string $path;
private string $page;
private string $filename;
public function __construct(string $page)
{
$this->path = 'acessos/';
$this->page = strtolower($page);
$this->filename = sprintf('%s%s.txt', $this->path, $this->page);
$this->createDir();
}
public function setCount(int $count = 1)
{
$currentCount = $this->getCount() + $count;
$fp = fopen($this->filename, 'w');
fwrite($fp, $currentCount);
fclose($fp);
}
public function getCount()
{
if (!file_exists($this->filename))
return 0;
$fp = fopen($this->filename, 'r');
$count = fread($fp, filesize($this->filename));
fclose($fp);
return $count;
}
private function createDir()
{
if (is_dir($this->path))
return;
mkdir($this->path);
}
}
Modo de utilização:
<?php
require('Contador.php');
$contador = new Contador('home');
$contador->setCount();
print_r($contador->getCount());