segunda-feira, 18 de outubro de 2010

Gerador de Relatório de Visitadores a Pagina WEB

Relatório de Visitadores à Página WEB

O programa a seguir foi elaborado utilizando-se do arquivo de saída de uma página Log/Contadora de visitas, onde a variável dos sistema era armazenada em arquivo. Essa informação agora usada para se criar um relatório de tipos de navegadores e sistemas operacionais de usuários que visitaram a página. Eu achei a qualidade da informação fornecida pela variável de sistema muito pobre, e dubia. Onde muitas vezes não pude realmente saber se o visitador era de uma maquina linux ou uma maquina windows haja vista que as duas informações vinham agregadas a string. Por hora o programa se despreocupa com a qualidade da informação importando somente em estabelecer um meio de identificar elementos de qualificação dessa string. Melhores métodos de certificar qual o sistema e navegadores creio eu deve passar por uma redefinição do modo como e setado essa variável pelo sistema, coisa que cabe aos organizadores da linguagem PHP fazerem, por hora acho a linguagem muito mal padronizada incluse a parte HTML.Veja aqui a página

<html>
<body>
<h1>Programa de Geracao de relatorio de visitas a pagina</h1>
<hr size=10 color=red>
<?php

/*    rotina php para para ler um arquivo de log e informar estatisticamente a porcentagem de visitantes
      por sistema operacional e navegador tipo.
*/

// Abre arquivo log.txt em modo de leitura.

 $arquivo=fopen("log.txt","r") or  exit("Nao foi possivel abrir arquivo");

// Le uma linha do arquivo a primeira e coloca o valor em variavel numero de linhas.

 $numero_linhas = fgets($arquivo);
 
// Define array de tipo de sistema operacionais e navegadores (browsers).

 $NAV_array = array("msie","firefox","opera","chrome","safari","flock","iceweasel","googlebot","camino");

 $SO_array = array("Linux","Mac","Windows","OS");

// Inicializando contador de browsers

 foreach($NAV_array as $navegador)
 {
   $contador[$navegador] = 0;
 }   

// Inicializando contador de sistemas operacionais.

 foreach($SO_array as $so)
 {
   $contador[$so] = 0;
 }

// Le o arquivo linha por linha

 for($i=0;$i<$numero_linhas;$i++)
 {
   $linha = fgets($arquivo);
   foreach($NAV_array as $navegador)
   {
     if(preg_match("/"."$navegador"."/i",$linha))
     {
        $contador[$navegador] += 1;
     }
   }
   foreach($SO_array as $so)
   {
     if(preg_match("/"."$so"."/i",$linha))
     {
        $contador[$so] += 1;
     }
   }
 }

// Apresenta porcentagem dos navegadores visitadores da pagina.

 echo "<table border=3>";
 echo "<h3>Visistas por Browser</h3>";
 foreach($NAV_array as $navegador)
 {
   echo "<td>".$navegador."<td>".$contador[$navegador]."</td>";
 }
 echo "</table><br>";

 echo "<table border=3>";
 echo "<h3>Visitas por Sistema Operacional</h3>";
 foreach($SO_array as $so)
 {
   echo "<td>".$so."<td>".$contador[$so]."</td>";
  
 }
 echo "</table>";

// Fecha arquivo. 

 fclose($arquivo);

 ?>
</body>
</html>

Sem comentários:

Enviar um comentário