Scripts

Uitgebreid bezoekersscript

Dit script werkt met een textfile, dus zonder database. Volgende aanpassing moeten gebeuren: • $file = "log.txt"; Verander log.txt naar het pad waar je textfile staat. • $time = "600"; Verander 600 naar (zie hieronder). Verschillende hits van dezelfde persoon wordt maar 1 keer geteld binnen 10 minuten (aanpasbaar, zie hierboven). Dit script toont de bezoekers van: • de afgelopen dag • de vorige dag • de afgelopen week • de afgelopen maand • het totaal aantal bezoekers

uitgebreid-bezoekersscript
<?php

$file = "log.txt"; // Bestand waar resultaten opgeslagen worden
$time = "600"; // Aantal seconden tussen 2 hits

// Hier niets wijzigen
// Nieuwe hit wordt opgeslagen

$fo = fopen($file, 'r');
$data = fread($fo, filesize($file));
fclose($fo);
$aantal = count(explode("%%", $data));
$aantal = $aantal - 1;
$dataexpla = explode("%%", $data);
$counter = 0;
while ( $counter < $aantal )
{
	$dataexplb = explode("::", $dataexpla[$counter]);
	if ( $dataexplb[0] == $_SERVER['REMOTE_ADDR'] )
	{
		$ok = 1;
	}
	$counter++;
}
if ( $ok == 1 )
{
	$b = $dataexplb[1];
	$c = time();
	$d = $c - $time;
	if ( $b < $d )
	{
		$fo = fopen($file, 'w');
		fwrite($fo, $data);
		fwrite($fo, $_SERVER['REMOTE_ADDR']);
		fwrite($fo, "::");
		fwrite($fo, $c);
		fwrite($fo, "%%");
		fclose($fo);
	}
}
else
{
	$fo = fopen($file, 'w');
	fwrite($fo, $data);
	fwrite($fo, $_SERVER['REMOTE_ADDR']);
	fwrite($fo, "::");
	$date = time();
	fwrite($fo, $date);
	fwrite($fo, "%%");
	fclose($fo);
}

// Resultaten berekenen

$fo = fopen($file, 'r');
$data = fread($fo, filesize($file));
fclose($fo);
$aantal = count(explode("%%", $data));
$aantal = $aantal - 1;
$dataexpla = explode("%%", $data);
$counter = 0;
$timea = time() - 86400;
$timeb = time() - 604800;
$timec = time() - 2592000;
$timed = time() - 172800;
$a = 0;
$b = 0;
$c = 0;
$d = 0;
while ( $counter < $aantal )
{
	$dataexplb = explode("::", $dataexpla[$counter]);
	if ( $dataexplb[1] > $timea )
	{
		$a = $a + 1;
	}
	if ( $dataexplb[1] > $timeb )
	{
		$b = $b + 1;
	}
	if ( $dataexplb[1] > $timec )
	{
		$c = $c + 1;
	}
	if ( $dataexplb[1] < $timea and $dataexplb[1] > $timed )
	{
		$d = $d + 1;
	}
	$counter++;
}

// Resultaten tonen

echo "Bezoekers vandaag: ";
echo $a;
echo "<br>";
echo "Bezoekers gisteren: ";
echo $d;
echo "<br>";
echo "Bezoekers deze week: ";
echo $b;
echo "<br>";
echo "Bezoekers deze maand: ";
echo $c;
echo "<br>";
echo "Bezoekers totaal: ";
echo $aantal;
?>

Reacties

0
Nog geen reacties.