Jump to content


Photo

Contador De Visitas Sem Mysql


  • Faça o login para participar
4 replies to this topic

#1 bmamone

bmamone

    bmamone.com

  • Usuários
  • 374 posts
  • Sexo:Não informado
  • Localidade:São Paulo - Brasil
  • Interesses:Meus interesses lhe interessam? Não é interessante se interessar por meus interesses!

Posted 18/01/2007, 20:18

Recebi umas dúvidas e resolvi ajudar... :D

Uma dúvida que alguns ainda tem hoje em dia é a respeito dos contadores (downloads, page-views, cliques, etc...) :o

Então, resolvi ajudar aos que tem dúvida! :lol:

Vamos fazer um contador de page-views.

O que precisamos para ele funcionar?
  • Um script (dã)
  • Um lugar para inserir os dados e salvar.
Então fica facil... Já que não iremos usar MYSQL, que tal um arquivo de texto (.txt)?

Ótimo, iremos então usar algumas funções PHP que talvez vocês não conhecam:

fopen()
fgets()
fclose()
fputs()

Crie um arquivo contador.txt e bote ele no local desejado.
Depois crie um arquivo contador.php ou outro que desejar adicione o código abaixo e coloque no mesmo local do contador.txt.
<?php
	$contador = fopen("contador.txt","r"); //abre o arquivo contador.txt em modo de leitura
	$visitas = fgets($contador,1024); //lê o arquivo
	fclose($contador); //fecha o arquivo
	$contador = fopen("contador.txt", "r+"); //volta abrir o arquivo, mas agora em modo de leitura e gravação
	$visitas = $visitas + 1; //adiciona 1 a visitas
	fputs($contador, $visitas); //escreve no arquivo de texto
	fclose($contador); //fecha o arquivo
	print "$visitas"; //imprime o resultado
?>

Bom, o que o arquivo faz, você encontra nos comentários: Abre o arquivo, lê e fecha. Abre novamente, adiciona uma visita, escreve no arquivo, fecha e finalmente imprime o resultado.


Simples não?

Espero que tenham gostado, dúvidas poste aqui por favor :)

Fonte: Feito por mim mesmo, disponivel também em: http://programandoph...m/2007/01/18/3/

Edição feita por: bmamone, 18/01/2007, 20:27.

bmamone ~

Vem aí aquilo o que você não sabe o que é.
Mas vai gostar.
Ou não.

#2 NsX_

NsX_

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado
  • Localidade:Cadeira horrivel
  • Interesses:Php, estudar, e ser rico o.o

Posted 21/01/2007, 00:15

Eu só não intendi a parte do 1024, pra que ele serve?
<?php

$first_steep = "Deus!"; //Base Principal
$after = "Paciente";
$and = "Dedicação...";
$end = "Sucesso...!";
echo "Esteja sempre com $first_steep<BR>";
echo "Seja muito after<BR>";
echo "E tenha muita $and<BR>";
echo "Assim, terá muito $end";

?>

Msn: kill-kun [at] hotmail [dot] com

#3 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 21/01/2007, 04:27

Eu só não intendi a parte do 1024, pra que ele serve?

Significa que a função deve pegar no máximo 1MB de dentro do arquivo ... so isso ...

Mas assim dá pla simplicar e melhorar, tipo colocar um bloqueador para se o cara não ficar carregando adoidado...

<?php

// Pega o total de visiatas ...
$visitas = ((int) file_get_contents("contador.txt"));
$contagem = ($visitas + 1);

if (!isset($_COOKIE["trava"])) {
 // Abre o contador e alterar o valor...
 $contado = fopen("contador.txt", "a+");
 fwrite($contado, $contagem);
 fclose($contado);
 setcookie("trava", "travado");
}

echo $contagem;

?>

Edição feita por: sk15, 21/01/2007, 04:28.


#4 Dudu

Dudu

    Viva la vida

  • Usuários
  • 1437 posts
  • Sexo:Masculino
  • Localidade:Uberlândia - MG
  • Interesses:PHP

Posted 21/01/2007, 14:32

Olá sk15, tava lendo a função fgets(), e vi que ele conta em Bytes (Pelo que entendi). Este 1024 não seria 1 KB, e não 1 MB.

Para ser 1 MB não seria 1000000 Bytes?

Me corrija se estiver errado.
Posso estar "viajando".

Até mais ^_^

Edição feita por: _Dudu_1533, 21/01/2007, 14:38.

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador


Twitter: HostCheap


#5 NsX_

NsX_

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado
  • Localidade:Cadeira horrivel
  • Interesses:Php, estudar, e ser rico o.o

Posted 21/01/2007, 15:37

A soah, obrigado pela explicação ^^.
<?php

$first_steep = "Deus!"; //Base Principal
$after = "Paciente";
$and = "Dedicação...";
$end = "Sucesso...!";
echo "Esteja sempre com $first_steep<BR>";
echo "Seja muito after<BR>";
echo "E tenha muita $and<BR>";
echo "Assim, terá muito $end";

?>

Msn: kill-kun [at] hotmail [dot] com




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq