Prilikom razvoja web aplikacija, česti su zahtevi za evidentiranjem broja posetilaca na celokupnom nalogu ili u okviru pojedinačnih stranica. Na internetu su dostupna mnogobrojna rešenja koja će "odraditi" posao i obezbediti kvalitetnu statistiku, ali svakako da poželimo sasvim običan kod koji će uz jednostavnu implementaciju pružiti minimum potrebnih podataka.
U nastavku sledi primer jednostavnog koda koji je potrebno da kopirate na bilo koju stranicu na kojoj želite praćenje poseta (najčešće početna stranica prezentacije).
Log fajl koji se kreira sadrži listu IP adresa svih posetilaca za brojem pristupa koji su ostvareni.
U nastavku sledi primer jednostavnog koda koji je potrebno da kopirate na bilo koju stranicu na kojoj želite praćenje poseta (najčešće početna stranica prezentacije).
<?php
function counter($file)
{
$contents = ((file_exists($file)) ? (preg_split("/((\r(?!\n))|((?!\r)\n)|(\r\n))/", file_get_contents($file))) : (array()));
$incremented = false;
if(count($contents) > 0)
foreach($contents as &$line)
{
$line = explode("\t", $line);
if($line[0] == $_SERVER["REMOTE_ADDR"])
{
$line[1]++;
$line = implode("\t", $line);
$incremented = true;
break;
}
$line = implode("\t", $line);
}
if(!$incremented)
$contents[] = $_SERVER["REMOTE_ADDR"]."\t1";
$contents = implode("\r\n", $contents);
file_put_contents($file, $contents);
}
counter("log.txt");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
h1
{
font: normal 32px "Lucida Sans Unicode", "Lucida Grande", Verdana, sans-serif;
}
pre
{
font: 12px Consolas, Monaco, monospace;
overflow: auto;
}
</style>
<title>Statistika poseta</title>
</head>
<body>
<h1>Log</h1>
<pre><?php require "log.txt"; ?></pre>
</body>
</html>
Log fajl koji se kreira sadrži listu IP adresa svih posetilaca za brojem pristupa koji su ostvareni.
No comments:
Post a Comment