Contador de Visitas Simples com OO e Cookie !!!
Publicado por Daniel Santana 11/08/2004
[ Hits: 13.129 ]
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
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Criando uma VPC na AWS via CLI
Multifuncional HP imprime mas não digitaliza
Dica básica para escrever um Artigo.
Como Exibir Imagens Aleatórias no Neofetch para Personalizar seu Terminal
Melhorando a precisão de valores flutuantes em python[AJUDA] (11)
GLPI - Configuração de destinatário com conta Microsoft Exchange (0)
Vou voltar moderar conteúdos de Dicas e Artigos (3)
OpenVPN no MACBOOK conecta mas não pinga pastas de rede compartilhada ... (1)