hallo zusammen.
ich hab folgendes problem mit einem grafic counter:
der counter (namentlich "AlphaGCount 1.00") erstellt wie gewollt zwei dateien in seinem verzeichnis (IPs.dat und Stat.dat). in der IPs.dat wird eine eingestellt anzahl von ips gespeichert (scheinbar um hochzählen durch aktualisieren zu vermeiden) und in der anderen die aktuellen hitcounts gezählt.
das blöde an der sache ist nur, dass der counter einfach nicht hochzählt. ich hab testweise ein paar leute die seite aufrufen lassen damit ich nicht mit der gleichen ip auf die seite zugreife, aber der counter bleibt unverändert.
zur info: auf meinem webspace läuft derzeit php 4.3.4
hier ist der php-code:
Code
<?
$CookieTimeOut = "2"; // Cookie Timeout in Sekunden
$Num_Save_IP = "10"; // IP Adressen die gespeichert werden sollen
$IPFile = "IPs.dat"; // Datei in der die IPs gespeichert werden sollen
$LogFile = "Stat.dat"; // Datei in der die Counterdaten gespeichert werden.
$DispLen = 6; // Mindestanzahl der Counterstellen
$BackCol = "transparent"; // Hintergrundfarbe des Counters
$Border = 0; // Rahmenbreite des Counters
$imgHeight = 17; // Höhe des Ziffern Bildes
$imgWidth = 13; // Breite des Ziffern Bildes
//Bilder für die Ziffern 0-9
$img[0]="images/agc-img/ani0.gif";
$img[1]="images/agc-img/ani1.gif";
$img[2]="images/agc-img/ani2.gif";
$img[3]="images/agc-img/ani3.gif";
$img[4]="images/agc-img/ani4.gif";
$img[5]="images/agc-img/ani5.gif";
$img[6]="images/agc-img/ani6.gif";
$img[7]="images/agc-img/ani7.gif";
$img[8]="images/agc-img/ani8.gif";
$img[9]="images/agc-img/ani9.gif";
//*************
//* Quelltext *
//*************
$CurrentIP=$REMOTE_ADDR;
if(file_exists($IPFile))
{
$IPF=fopen($IPFile,"r+");
$IPData=fgets($IPF,2000);
$IPArray=explode("#",$IPData);
if(in_array($CurrentIP,$IPArray))
{
$Action="read";
}
else
{
$SavedIPs=count($IPArray);
if($SavedIPs<=$Num_Save_IP)
{
fputs($IPF,$CurrentIP."#");
fclose($IPF);
$Action="update";
}
else
{
$arrayp=array_pop($IPArray);
$IPArray=array_reverse($IPArray);
array_push($IPArray,$CurrentIP);
$IPArray=array_reverse($IPArray);
$AddIP=implode("#",$CurrentIP);
$IPF=fopen($IPFile,"w+");
fputs($IPF,$CurrentIP);
fclose($IPF);
$Action="update";
}
}
}
else
{
$Counter=fopen($LogFile,"w+");
fputs($Counter,1);
fclose($Counter);
$IPF=fopen($IPFile,"w^");
fputs($IPF,$CurrentIP."#");
$CurrentCount=1;
}
if($Action=="update")
{
$Counter=fopen($LogFile,"r+");
$CurrentCount=fgets($Counter,20);
$CurrentCount++;
fseek($Counter,0);
fputs($Counter,$CurrentCount);
fclose($Counter);
}
if($Action=="read")
{
$Counter=fopen($LogFile,"r+");
$CurrentCount=fgets($Counter,20);
fclose($Counter);
}
echo "[*]";
if ($DispLen > strlen($CurrentCount))
{
$dsize=$DispLen-strlen($CurrentCount);
for ($i=0; $i < $dsize; $i++)
{
$CurrentCount="0".$CurrentCount;
}
}
for ($i=0; $i < strlen($CurrentCount); $i++)
{
echo "[img]".$img[substr($CurrentCount, $i, 1)]."[/img]";
}
echo "";
?>
Alles anzeigen