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