A counter 1 egyszerű oldalszámláló (counter1) javított változata. A szerverről történő oldal-letöltéseket számolja. A scriptben beállított időn belüli ismételt oldallekérés esetén a számláló nem lép tovább, így megakadályozza a számláló pörgetését. A működéshez a PHP futtatást engedélyezni kell a szerveren. A scriptet be lehet illeszteni a meglévő HTML kódba a szükséges helyen. Fel kell tölteni a fájl mellé azonos könyvtárba egy egyszerű .txt fájlt - ez esetben figyelni kell a kiterjesztésre (.php a script és .txt az adatfájl) - ami a számláló induló állását tartalmazza (pl.: "0").
Először megnézi, létezik-e a session változó, ha nem beírja az aktuális idővel. Ha létezik a counter.txt nevű fájl, kiolvassa a tartalmát ( érték ), bezárja a fájlt, az értéket, mint változót megnöveli eggyel, megnyita a fájlt írásra, beíra az új értéket, egyúttal az adott lapon is megjeleníti azt.

 

<?php
  1.  session_start();
  	  2.  if (!isset($PHPSESSID)) 
	  3.
	      { 
	 4.    session_register('visited');
  5.    $visited = time();
  6.    } 
 7.  if (($visited + 600) < time()) //blokkolási idő beállítás (sec.) 
 8.    {
 9.    $counterFile = 'counter.txt'; 
 	  10.   if (file_exists($counterFile))  
11.     {
  12.     $fp = fopen($counterFile,"r");
  13.     $num = fread($fp, filesize($counterFile)); 
 14.     fclose($fp); 
 15.     } 
	  16.   $num = $num + 1
;  	  17.   $fp = fopen($counterFile,"w");
  18.   fwrite($fp, $num, 10); 
 19.   fclose($fp);  
	  20.   $visited = time()
;  21.   } 
 ?>  
  <HTML>  <HEAD>  	<!--... itt kezdődik a dokumentum ... -->  

< body> -ba

 

<?php 
 1.  $counterFile = 'counter.txt';
 2.  if (file_exists($counterFile)) 
 3.    { 
 4.    $fp = fopen($counterFile,"r");
  5.    $num = fread($fp, filesize($counterFile));
  6.    fclose($fp); 
 7.    } 
   8.  echo ('<B>'.chop($num).'</B>'); 
   ?>  

<?php
session_start();

if (!isset($PHPSESSID))
{
session_register('visited');
$visited=time();
}

if (($visited+600)<time())
{
$counterFile = 'counter.txt';
if (file_exists($counterFile))
{
$fp = fopen($counterFile,"r");
$num = fread($fp, filesize($counterFile));
fclose($fp);
}
$num=$num+1;
$fp = fopen($counterFile,"w");
fwrite($fp, $num, 10);
fclose($fp);
$visited=time();
}

?>

 

<?php
$counterFile = 'counter.txt';
if (file_exists($counterFile))
{
$fp = fopen($counterFile,"r");
$num = fread($fp, filesize($counterFile));
fclose($fp);
}
echo('<B>'.chop($num).'</B>');

?>

vissza az elõzõ oldalra