-1

Contadores Gráficos em PHP

criado por Luiz Ribeiro em 12/04/2002 6:59pm
Há dois caminhos, usar a biblioteca GD e criar uma imagem com o número de hits, a outra maneira é fazer seu script processar o número de visitas número por número. Como foi dito, neste artigo irei abordar o segundo modo (sem GD).

O script vai funcionar mais ou menos da seguinte maneira:
1. Armazenar o número de visitas em $hits, por exemplo 4235.
2. Separar tais números um por um.
3. Analisar número por numero e pegar a imagem correspondente ao número.

Bom, vamos botar a mão na massa!

Primeiro você deverá criar um arquivo no mesmo diretório onde será instalado o contador, cujo nome será stats.txt.

Após isso, você deverá criar um subdiretório chamado imgs onde ficarão armazenadas as imagens do contador, exemplo: 1.gif (que irá representar o número 1), 2.gif (que irá representar o número 2) e assim por diante.

Agora crie o arquivo contador.php e coloque o seguinte conteúdo dentro dele:

<?php
$counter_file = "stats.txt"; //informa o nome do arquivo onde está o número de hits
if(!($fp = fopen($counter_file , "r"))) die ("Erro!<br>Não foi possível abrir o contador."); //abre o arquivo onde está o total de visitas do site.
$counter = (int)fread($fp, 24); //armazena em $counter o número atual de visitas
fclose($fp); //fecha o arquivo stats.txt
if(!isset($hits)) { //se o usuário ainda não tiver visitado o site
    $counter++; //aumenta o número de visitas
    setcookie("hits","1"); //grava um cookie que irá lembrar o script que o internauta já visitou o site
}
$fp = fopen($counter_file , "w"); //reabre o arquivo stats.txt
fwrite($fp, $counter); //escreve o novo número de visitantes no arquivo
fclose($fp); //fecha o arquivo

for ($i = 0; $i < strlen($counter); $i++) //"anda" pelos números de $counter
{
    $imgsrc = substr($counter,$i ,1); //armazena o número que está sendo analisado em $imgsrc
    echo "<img src ="imgs/".$imgsrc.".gif">"; //carrega a imagem correspondente ao número de $imgsrc
}
?>

É basicamente isso, agora vamos colocar o número de visitas nas páginas que você quiser mostrar o contador. Para isso é só você colocar o seguinte código na página:

<?php
include("contador.php");
?>

Se você não quer criar imagens para seu contador, você pode pegar algumas gratuitas neste ótimo site dedicado exclusivamente ao assunto: http://www.digitmania.holowww.com/

Espero ter ajudado você a criar um contador gráfico!

Abraços,
Luiz Gustavo Cardoso Ribeiro

Comentários:

Mostrando 1 - 4 de 4 comentários
Luiz Ribeiro disse:
Bom, primeiramente pesso desculpas pela demora para responder...

O exemplo com gd, bom, não acho necessário um exemplo, leia o artigo sobre GD que eu escrevi que você vai entender....

Sobre o erro, pesso minhas sinceras desculpas, eu não notei ele, pois antes de postar o artigo fiz algumas alterações nesse meu código e não notei que havia cometido o erro... A linha:
echo "<img src ="imgs/".$imgsrc.".gif">";

Deve ser mudada para:
echo "<img src =\"imgs/".$imgsrc.".gif\">";

Sobre contar os usuários que estão na página você pode ler um tutorial sobre o assunto, que explique como ver o número de usuários online, fazer isso é muito simples, tem um artigo no imasters.com.br sobre isso, na superphp.com.br acho que tem também, e deve ter algum script como esse aqui na phpbrasil.com... É bem fácil aplicar isso à técnica abordada no artigo acima...

Abraços,
Luiz Gustavo Cardoso Ribeiro
20/04/2002 9:13pm (~22 anos atrás)

Interessante mas possue alguns erros na codificação como este trecho
echo "<img src ="imgs/".$imgsrc.".gif">";

Mas são fáceis de corrigir, agora Luiz Gustavo, que tal vc postar um que conta os usuários que estao na página (considerando que não exista login)

Abraços, amigo.
19/04/2002 2:30pm (~22 anos atrás)

Felipe Lopes disse:
O melhor jeito te fazer as barras de imagens é fazendo uma relação matematica e coloca-la dentro do width da imagem....Algo como assim:

<IMG SRC="url da imagem" WIDTH="<? echo "$num"; ?>" HEIGHT="5">

Sendo q desse modo, basta apenas uma imagem para fazer barras com tamanhos diferentes...

[]'s

Felipe Lopes
18/04/2002 9:55pm (~22 anos atrás)

Podia publicar o exemplo com GD.
14/04/2002 10:55am (~22 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)