Counter funtionen

felixb

Mitglied
Hallo. ich hab mir einen counter gemacht. Hier der code.


Code:
<? 
$counter = "counter.txt"; 
$zeitfenster = 5; 
$zeit=time($zeit); 
$update="1"; 

$fp = fopen("counter.txt","r"); 
$i=0; 
while (feof($fp)==0) { 
$line=chop(fgets($fp,260)); 
$i++; 
$testarray[$i]=$line; 
} 

fclose($fp); 
// das auslesen ist beendet, daten wurden in einem array gespeichert 
// Beginn der prüfung ob ip gleich oder zeitfenster zu klein 
$diff = $zeit-$testarray[3]; 
if (($diff) >= $zeitfenster) { $update="0"; } 
if ($testarray[2] != $REMOTE_ADDR or $update == "0") { 
// prüfung beendet 
$ftp = @fopen($counter,"r+"); 
$count = (int)fgets($ftp,100); 
$count++; 
rewind($ftp); 
fwrite($ftp,"$count\n$REMOTE_ADDR\n$zeit\n"); 
fclose($ftp); 
echo "Sie sind Besucher $count"; 
} 
else { 
  echo "Sie sind Besucher $testarray[1]"; 
  } 
?>
Ich würde auf meiner homepage gerne folgende arten von countern ahben:

besucher heute
besucher gestern
besucher gesamt (ist der code oben, brauch ich also nicht zu wissen)

Könnt ihr mir sagen, wie ich die besucher von dem akutelle und dem vohrigem tag angeben kann?

ich hoffe ihr könnt mir helfen

gruß
felixb
 
Da jeden Tag ein neuer Anfang ist ( Gott wie klingt das weise :p ) brauchst du nur eine neue Datei in der 3 Dinge stehen:

Benutzer heute, Benutzer gestern und der Tag

Dann schreibst du im endeffekt nichts anderes als einen Normalen Counter mit einer Tageszeitüberprüfung

PHP:
<?
/*
...
hier muss der Code für das auslesen der Datei rein.
*/
$heute = getdate();
if( $counter_day == $heute( 'mday' )){
// Wert erhöhen und wieder speichern
}
else {
$fh = fopen("dateiname.txt","w"); // w damit die Datei wieder auf 0 zurückgesetzt wird.
// der Tag der noch als "heute" gilt in gestern speichern und den heutigen Tag auf 0 zurücksetzen bzw. 1 und wieder speichern.
// am Ende noch den Tag reinschreiben:
fwrite( $heute('mday'), $fh );
}
?>

vielleicht hilft dir das etwas weiter, soll nur ne Gedankenstütze sein!
 
hä?

Sorry, aber das hab ich niht ganz verstanden.
Ich kann doch nicht einfach ne neue datei anlegen und die sachen dareinschreiben? Oder meinst du, dass ich in die neue datei dann den quellcode reintun soll?

Den code verstehe ihauch nicht ganz
Muss ich da teile von meinem code wieder reintun?

trotzdem danke für deine hilfe
mfg

felix
 
nein, du erstellst einfach eine neue Textdatei mit PHP, kannst auch MySQL nehmen, wenn dir das lieber ist. Mein Code-Schnipsel ist wirklich nur ein gaaaaanz grober Gedankengang. Für die Kommentare musst du halt dann deinen Quelltext einsetzen, das hab ich daher nicht gemacht, weil du sicher selbst deine Variablen definieren willst.

Beispiel des inhalts der Datei (z.B aktuell.txt)

1265|583|05

1265 Besucher heute
583 Besucher gestern
05 Tag des Monats

die 3 Sachen kannst du mit explode() in ein Array zerlegen und der Rest ist bereits beschrieben.
 
Zurück