Contador de Visitas Simples com OO e Cookie !!!
Publicado por Daniel Santana 11/08/2004
[ Hits: 13.392 ]
Homepage: http://www.san.pro.br
Download contador_fimdeprova.php
Um Contador de Visita simples, mas com Orientação a Objetos.
Este script cria um contador real, e não um contador que conta mais uma visita a cada clique de link ou a cada atualização de página.
E ainda uso uma sintaxe de IF pouco comum, mas muito mais fácil para os iniciantes.
espero que ajude!
Um Araço!
<?php
/**************
* Script...: Contador de visitas com arquivo de texto
* Autor....: Grupo Fimdeprova .COM
* Data.....: 11 de Agosto de 2004
* Obs......: Um contador simples, com cookies e OO.
O Script Pode ser alterado por qualquer pessoa
E para qualquer finalidade.
O Grupo Fimdeprova .COM Não se responsabiliza pelo mal uso
de seus scripts
*********/
// Iniciando a Classe
class CONTADOR_FIMDEPROVA{
var $Visitas; // Esta variável em nível de classe servirá para
//guardar o número de visitas
// Metodo construtor da classe
//é executado no momento da criação
//de uma instância em um objeto
// $var = new CONTADOR_FIMDEPROVA()
function CONTADOR_FIMDEPROVA(){
//A variável $Arquivo guarda o caminho e o nome
//do arquivo que armazenará a quantidade de visitas do site.
// Ex.: $Arquivo = 'caminho_do_arquivo/nome_do_arquivo';
$Arquivo = 'contador.txt';
// Verificação de existência do Arquivo
if (! file_exists($Arquivo)):
// Caso ele não exista o PHP tentará cria-lo
//com o modo de abertura 'x+'
$ArquivoTemp = fopen($Arquivo, 'x+');
// E cravará no mesmo o valor 0
fwrite($ArquivoTemp, '0');
// Fechando o Arquivo
fclose($ArquivoTemp);
endif;
// Esta variável guarda o modo de Abertura para a função
//'fopen' da PHP o valor 'w+' faz o PHP abrir o arquivo para
// leitura e escrita, e caso o mesmo arquivo ainda não exista,
// o PHP tenta criá-lo, zera o tamanho do mesmo.
// O valor 'r+' serve para o mesmo propósito mas
// não zera o tamanho do arquivo.
$ModoDeAbertura1 = 'r+';
$ModoDeAbertura2 = 'w+';
// Aqui o tal arquivo citado acima é aberto com o método
// citado acima também
// A referência do arquivo que será aberto, ficará na
// variável $ArquivoAberto
// A abertura é feita com a função 'fopen' da PHP
$ArquivoAberto = fopen($Arquivo , $ModoDeAbertura1);
// A função 'fgets' foi escolhida aqui para ler o arquivo,
// pois, omitindo-se o segundo argumento, ela faz com
//que o PHP leia até o fim da 1ª linha.
// O valor desta linha fica armazenado na var $Visitas.
// (int) converte EXPLICITAMENTE a String para integer
$Visitas = (int) fgets($ArquivoAberto);
// O arquivo agora é fechado com a função 'fclose'.
fclose($ArquivoAberto);
// Var com o Nome do Cookie, para a verificação
$NomeDoCookie = 'CookieContador';
// Valor a ser verificado no cookie, e gravado no
// mesmo caso não seja este o valor.
$ValorDoCookie = TRUE;
// Tempo de expiração do cookie. A função time,
//retorna um timestamp da hora atual
//e o número 3600 é referente à uma hora em segundos.
// Assim você pode mudar para por ex:
//7200, referente à duas horas.
$PrazoDoCookie = time() + 3600;
// Neste momento acontece a verificação da visita.
//Isto é feito para que as visitas
//não aumentem a cada atualização ou visitação de página.
// Para isto grava-se um 'cookie' no micro do Usuário com
//um prazo de 1 hora para expirar.
// Caso não haja um cookie no micro do usuário,
//ou, o valor do cookie seja diferente do definido por você,
// será contada mais uma visita, caso contrário não.
if(
! isset($_COOKIE["CookieContador"]) ||
$_COOKIE["CookieContador"] != TRUE):
// Setando o valor e o prazo de expiração do Cookie
//de acordo com as variáveis setadas acima
setcookie(
$NomeDoCookie,
$ValorDoCookie,
$PrazoDoCookie);
// Voltando para a Variável que guarda as visitas,
// adicionando 1 no valor atual
$Visitas++;
// Abrindo novamente o Arquivo para poder gravar o
//número de visitas
//Para isto usa-se novamente a função 'fopen' e o Modo
// de Abertura setado lá em cima
$ArquivoAberto = fopen($Arquivo, $ModoDeAbertura2);
// Gravando o Valor da variável Visitas dentro do
//arquivo, com a função 'fwrite'
//da PHP. Esta função requer dois argumentos,
//a referência de um arquivo aberto
//e a string com o conteúdo a ser gravado.
fwrite($ArquivoAberto, $Visitas);
// Mais uma vez fechando o arquivo com 'fclose'
fclose($ArquivoAberto);
endif;// Terminando o IF que verifica se o Cookie existe
// Disponibilizando o valor do numero de visitas para todos
// os métodos da classe
//$this->Visitas : Acessível à todos os Métodos
//$Visitas: Acessível somente à este método, foi criada neste.
$this->Visitas = $Visitas;
}
// Este Método serve para mostrar o número de visitas
// Desta forma você consegue seguir melhor um dos Propósitos da OOP
//(Programação Orientada a Objeto)
//que é separar a programação da marcação
function MostrarNumeroDeVisitas(){
//Mostrando o Número de Visitas
echo($this->Visitas);
}
}
// Para colocar sua classe em teste basta instanciar um objeto
// Assim:
$obj = new CONTADOR_FIMDEPROVA();
// E chamar o methodo que mostra o número de visitas
$obj->MostrarNumeroDeVisitas();
?>
Reduzindo o tamanho de links postados em seu site
Redirecionado paginas com registro de variavel em session
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Mint Xfce não mantém a conexão no wi-fi (2)
Problemas com Driver NVIDIA (5)
Warcraft II Remastered no Linux? (8)









