Contador de Visitas Simples com OO e Cookie !!!
Publicado por Daniel Santana 11/08/2004
[ Hits: 13.112 ]
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(); ?>
gerando links de todos aquivos de um diretorio
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
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta