Contador de visitas com PHP e TXT

Com poucas linhas de código conseguimos construir um excelente contador de visitas sem o uso de bibliotecas.

Publicado em

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());

 

Gunnar Correa
Gunnar Correa

Autodidata, Graduado em Desenvolvimento Web, Especialista em Tecnologias na Educação e Pós-graduando em Segurança da Informação. Começou seus estudos na área de programação quando era criança, e atualmente, está estudando desenvolvimento de jogos. Fundador da SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.

Todos os nossos cursos em promoção
Todos os nossos cursos em promoção

Webstories

Todos os nossos cursos em promoção

Todos os nossos cursos em promoção

Deixe um comentário
Aguarde...
Todos os nossos cursos em promoção