PHP Counter ...

Element

Mitglied
Hi ihr Profis !

Ich hab gestern versucht nen Counter mit Reloadsperre zu scripten !
Der Counter funzt auch einwandfrei nur die Reloadsperre nicht so !

PHP:
<?php
function schreiben($datei,$mode) {
   global $REMOTE_ADDR;
   $fp = @fopen($datei,$mode);
   flock($fp,2);
   fwrite($fp,$REMOTE_ADDR."|".time()."\n");
   flock($fp,3);
   fclose($fp);
}

function ip_sperre() {
   global $REMOTE_ADDR;
   $reloadlogdatei = "ips.txt";
   $anzahleintraege = 50;
   $zeitlimit = 3600;

   if(!file_exists($reloadlogdatei)) {
      $datei = fopen($reloadlogdatei,"w+");
      fclose($datei);
   }
   $fp = file($reloadlogdatei);
   $size = sizeof($fp);

   if($size >= $anzahleintraege){
      schreiben($reloadlogdatei,"w");
   }
   else {
      $ausgabe = false;
      for ($i=0;$i<$size;$i++) {
         $zeile = explode("|",$fp[$i]);
         if ($zeile[0] == $REMOTE_ADDR AND $zeile[1] > (time()-$zeitlimit)){
            $ausgabe = true;
         }
      }
      schreiben($reloadlogdatei,"a+");
   }
   return $ausgabe;
}
$fd = fopen("count.dat","r+");
$count = fgets($fd,10);
if (!$count and ip_sperre()==true) $count=0;
rewind($fd);
$count++;
fwrite($fd, $count);
fclose($fd);
echo "<center><b>" . $count . "</b></center>\n";
?>

Was mach ich falsch ??

Danke im vorraus für Hilfe !

Element
 

Neue Beiträge

Zurück