Anfänger - Freitag, Februar 22, 2008 15:54
Counter programmieren mit PHP
Du möchtest einen einfachen Counter für deine Website?
Hiermit kannst du dir einen einfachen Counter, basierende auf Textdateien, erstellen. Die Länge der IP-Sperre ist Sekundengenau einstellbar.
Als erstes musst du zwei Textdateien erstellen (im gleichen Verzeichnis wie das Counterscript):
Name der 1.Textdatei: ip.txt
Name der 2.Textdatei: counter.txt
Jetzt in eine PHP Datei (z.B. counter.php):
<?php
$DateinameCount = “counter.txt”;
$DateinameIP = “ip.txt”;
$Zeitsperre = 3600; // ip Sperre in Sekunden
########################
$Gefunden = FALSE;
$IPListe = file($DateinameIP);
if(
count($IPListe)>0)
{
// Löscht alte IPs
foreach($IPListe as $Zeile)
{
$GesplitteteZeile = explode(“|”, $Zeile);
if(($GesplitteteZeile[0]+$Zeitsperre)>time())
{
$NeueIPListe[] = trim($Zeile).“\n”;
}
}
// Sucht nach der aktuellen IP in der ip.txt
foreach($NeueIPListe as $Zeile)
{
$GesplitteteZeile = explode(“|”, $Zeile);
if(trim($GesplitteteZeile[1])==$HTTP_SERVER_VARS[“REMOTE_ADDR”])
{
$Gefunden = TRUE;
}
}
}
$FilePointerIP = fopen($DateinameIP, “w”);
if(count($IPListe)>0)
{
foreach($NeueIPListe as $Zeile)
{
fwrite($FilePointerIP, trim($Zeile).“\n”);
}
}
// Wenn IP nicht gefunden: Eintragen
if(!$Gefunden)
{
fwrite($FilePointerIP, time().“|”.$HTTP_SERVER_VARS[“REMOTE_ADDR”].“\n”);
}
fclose($FilePointerIP);
$FilePointerCount = fopen($DateinameCount, “r+”);
$Counter = fread($FilePointerCount, filesize($DateinameCount));
// Wenn IP nicht gefunden: Counter um 1 erhöhen
if(!$Gefunden)
{
$Counter++;
rewind($FilePointerCount);
fwrite($FilePointerCount, $Counter);
}
fclose($FilePointerCount);
// Counter ausgeben
echo $Counter;
?>Um den Counter in deine Seite zu integrieren, gib folgenden Code ein.
<?php
include(‘counter.php’);
?>Kommentieren