Scripts

MultiCounter

De enige reden die ik heb om deze counter hier toch neer te zetten is dat deze per pagina telt :) verder is het natuurlijk gewoon weer een van de vele counters hier ;) gebruik:

multicounter
<?

define(COUNTERFILE, "../data/counter.inc");

function addVisitor($page) {
   $file = COUNTERFILE;
   if (!file_exists($file)) {
      $fh = fopen($file, "w");
      fclose($fh);
   }
   $fh = fopen($file, "r");
   while(!feof($fh)) {
      $line = fgets($fh);
      $line = trim($line);
      if($line != "") {
         $lines[] = $line;
      }
   }
   fclose($fh);

   for($i = 0; $i < count($lines); $i++) {
      $exploded = explode("=", $lines[$i]);
      $lines[$i] = array();
      $lines[$i]["page"] = $exploded[0];
      $lines[$i]["visits"] = $exploded[1];
   }

   for($i = 0; $i < count($lines); $i++) {
      if($lines[$i]["page"] == $page) {
         $lines[$i]["visits"] = $lines[$i]["visits"] + 1;
         $succes = true;
      }
   }

   $tekst = "";

   for($i = 0; $i < count($lines); $i++) {
      $tekst .= $lines[$i]["page"] . "=" . $lines[$i]["visits"] . "\n";
   }

   if ($succes == false) {
      $tekst .= $page . "=1\n";      
   }

   $fh = fopen($file, "w");
   fwrite($fh, $tekst);
   fclose($fh);
   return true;
}

function showCounter($page) {
   $file = COUNTERFILE;
   $fh = fopen($file, "r");
   while(!feof($fh)) {
      $line = fgets($fh);
      $line = trim($line);
      if($line != "") {
         $lines[] = $line;
      }
   }
   fclose($fh);

   for($i = 0; $i < count($lines); $i++) {
      $exploded = explode("=", $lines[$i]);
      $lines[$i] = array();
      $lines[$i]["page"] = $exploded[0];
      $lines[$i]["visits"] = $exploded[1];
   }

   $visitstotal = 0;
   $visitspage = 0;

   for($i = 0; $i < count($lines); $i++) {
      if($lines[$i]["page"] == $page) {
         $visitspage = $lines[$i]["visits"];
      }
      $visitstotal = $visitstotal + $lines[$i]["visits"];
   }

   $percentoftotal = number_format(10 * ($visitspage / $visitstotal), 2, ',', '.');

   return array($visitspage, $visitstotal, $percentoftotal);
}

?>

Reacties

0
Nog geen reacties.