Besucherzähler
Scripte > Attachment
Einfacher Besucherzähler mit Reloadsperre
Besucherzähler, sind in der heutigen Zeit nicht mehr wegzudenken. Webmaster und auch User möchten gern sehen, wie oft die Seiten besucht werden. Dieser Besucherzähler benötigt keine Datenbank, da die Werte in einer Datendatei ".csv" gespeichert werden. Werden mehrere Zähler eingesetzt (z. B. für Seitenaufrufzählungen), empfiehlt sich die direkte Einbindung des Codes. Dabei muss nur beachtet werden, dass die Datendateien verschieden benannt werden, z. B. zdatei1.csv, zdatei2.csv, usw. Der Vorteil einer Einbindung per <php include... > ist, dass eine Änderungen nur an einer Datei ausgeführt werden muss. Der Ordner und Dateiname werden dazu im Skript entsprechend eingetragen. Der Zähler kann komplett farblich der Homepage angepasst werden. Breite des Zählers, Schriftgröße und Zeilenabstände sind ebenfalls anpassbar. Die Konfiguration ist den Verhältnissen im Code anzupassen!
ZIP-Datei in ein beliebiges Verzeichnis auf dem PC entpacken und das Verzeichnis "wsX5Obj" auf den Webserver in das Root-Verzeichnis kopieren. HTML-Code in den BODY-Bereich <body>...</body> der aufrufende Datei einfügen.
Eine demo.php ist beigefügt, die zum Test in das Root-Verzeichnis des Webservers kopiert werden kann.
Aufruf: "http://www.domain.tld/demo.php". Die aufrufenden Dateien müssen die Dateiendung .php aufweisen.
Heute: 4
Gestern: 1
Gesamt: 632
User online: 1
Rekord: 15
Gestern: 1
Gesamt: 632
User online: 1
Rekord: 15
Die Zeilenvariante lässt sich auch im Footer der Homepage gut einfügen, der Code sollte dann angepasst werden.
Heute: 4 |
Gestern: 1 |
Gesamt: 632 |
User online: 1 |
Rekord: 15
Code für den <BODY> Bereich
Blockvariante:
<?php include("wsX5Obj/Obj162_0/counter_ver.php"); ?>
Zeilenvariante:
<?php include("wsX5Obj/Obj162_0/counter_hor.php"); ?>
Alternativ kann auch der Inhalt der Datei "counter_ver.php" bzw. "counter_hor.php" direkt eingefügt werden.
Code Datei "counter_ver/hor.php "
<?php
### Blockversion ###
// Globale Einstellungen
// Globale Einstellungen
$zeit = time();$datum=date("d.m.y");$uhrzeit=date("H:i:s");
// Wie lange dauert die Sperrzeit
$sperrzeit=600;$neuladen=600;
// Dateiname, in welcher die Werte gespeichert werden
$filename="wsX5Obj/Obj162_0/zdatei.csv"; // kann auch anders lauten$zeile = file($filename);
//***********************************************************************************************//
// Ausgabe Einstellungen (bei horizonal muss angepasst werden)
$Textausrichtung = left; // Ausrichtung Text: left, center, right$Blockausrichtung = 280; // Abstand Block vom linken Seitenrand in px$RahmenJN = 1; // 0 = ohne Rahmen , 1 = mit Rahmen$Rahmenstaerke = 1; // Rahmenstärke in Pixel$Rahmentyp = 'solid'; // Rahmenart: solid, dashed, double, dotted, outset, groove$Rahmenfarbe= '#7C6031'; // Rahmenfarbe, # nicht vergessen
$Rahmenabstand= 15; // Abstand Rahmen zum Text in Pixel
$Hintergrundfarbe='#EEF6E9'; // Hintergrundfarbe, # nicht vergessen, keine = none$Schriftart = 'arial, helvetica, sans-serif'; // Schriftart$Schriftgroesse = 12; // Schriftgrösse in Pixel$Schriftstaerke = normal; // Schriftstärke: normal, bold, bolder$Schriftfarbe ='#000000'; // Schriftfarbe, # nicht vergessen$zaehlerbreite = 120; // Zählerbreite: 0 = automatische Breite, > 0 = Breite in Pixel$Zeilenhoehe = 130; // Abstand der Textzeilen in Prozent
//*************************************************************************************************//
// Ab hier nichts mehr ändern
$ip = getenv(REMOTE_ADDR);$eintrag=$zeit."#".$ip."\n";
$setzeDatum=0;$zaehler=0;
foreach($zeile as $sperre) {
$arraysp = explode("#",$sperre);if($ip==rtrim($arraysp[1]) & $arraysp[0] > $zeit -$neuladen) {
$vorhanden=1;
}
}
foreach($zeile as $wert) {
$array = explode("#",$wert);if($array[0]=='datum'& rtrim($array[1])!=$datum) {$setzeDatum=1;}if($vorhanden!=1) {if($array[0]=='heute') {if ($setzeDatum==0) {$heute=rtrim($array[1])+1;} else {$heute=1;$gestern=rtrim($array[1]);}}if($array[0]=='gestern'& $setzeDatum==0) {$gestern=rtrim($array[1]);}if($array[0]=='gesamt') {$gesamt=rtrim($array[1])+1;}} else {if($array[0]=='heute') {if ($setzeDatum==0) {$heute=rtrim($array[1]);} else {$heute=1;$gestern=rtrim($array[1]);}}if($array[0]=='gesamt') {$gesamt=rtrim($array[1]);}if($array[0]=='gestern'& $setzeDatum==0) {$gestern=rtrim($array[1]);}}
}
$fpwrite = fopen($filename , "w");
fwrite ($fpwrite, "datum"."#".$datum."\n"."heute"."#".$heute."\n"."gestern"."#".$gestern."\n"."gesamt"."#".$gesamt."\n".$eintrag, 750);
fclose($fpwrite);
$fpanhaengen = fopen($filename , "a");foreach($zeile as $useronline) {
$arrayuseronline = explode("#",$useronline);if($arrayuseronline[0] > $zeit -$sperrzeit & $ip!=rtrim($arrayuseronline[1])) {fwrite ($fpanhaengen,$useronline, 750);}
}fclose($fpanhaengen);
$zOnline = file($filename);for($x=0;$x<count($zOnline);$x++) {
$zaehler=$zaehler+1;
}foreach($zeile as $wert) {
$array = explode("#",$wert);if($array[0]=='datum'& rtrim($array[1])!=$datum){$setzeDatum=1;}if($vorhanden==1){if($array[0]=='heute' & $setzeDatum==0){$heute=rtrim($array[1]);}if($array[0]=='heute' & $setzeDatum==1){$heute=1;$gestern=rtrim($array[1]);}if($array[0]=='gesamt'){$gesamt=rtrim($array[1]);}if($array[0]=='gestern'& $setzeDatum==0){$gestern=rtrim($array[1]);}if($array[0]=='rekord'){$rekord=rtrim($array[1]);}} else {if($array[0]=='heute'& $setzeDatum==0){$heute=rtrim($array[1])+1;}if($array[0]=='heute'& $setzeDatum==1){$heute=1;$gestern=rtrim($array[1]);}if($array[0]=='gestern'& $setzeDatum==0){$gestern=rtrim($array[1]);}if($array[0]=='rekord'){$rekord=rtrim($array[1]);}if($array[0]=='gesamt'){$gesamt=rtrim($array[1])+1;}if ($heute > $rekord){$rekord = $heute;}}
}
$fpwrite = fopen($filename , "w");
fwrite ($fpwrite,"datum"."#".$datum."\n"."heute"."#".$heute."\n"."gestern"."#".$gestern."\n"."rekord"."#".$rekord."\n"."gesamt"."#".$gesamt."\n".$eintrag, 750);fclose($fpwrite);$rahmenwerte='';if ($RahmenJN != 0) {
$rahmenwerte = ' border: '.$Rahmenstaerke. 'px '.$Rahmentyp. ' ' .$Rahmenfarbe.';';
}$breitevorgabe='';if ($zaehlerbreite != 0) {
$breitevorgabe= ' width:'.$zaehlerbreite.'px;';
}
echo '<div align="'.$Textausrichtung.'" style="margin-left: '.$Blockausrichtung.'px; font-family: '.$Schriftart.'; font-size: '.$Schriftgroesse.'px; color: '.$Schriftfarbe.'; background-color: '.$Hintergrundfarbe. '; '.$rahmenwerte.$breitevorgabe.' height:auto; font-weight: '.$Schriftstaerke.'; padding: '.$Rahmenabstand.'px; line-height: '.$Zeilenhoehe.'%">
Heute: '.$heute. ' <br>Gestern: '.$gestern. ' <br>Gesamt: '. $gesamt .' <br>User online: '.$zaehler=$zaehler-4 .' <br><hr>Rekord: '.$rekord.' <br>
</div>';
?>
bei Zeilenausgabe:
Heute: '.$heute. ' | Gestern: '.$gestern. ' | Gesamt: '. $gesamt .' | User online: '.$zaehler=$zaehler-4 .' | Rekord: '.$rekord.'
Feedbacks zu ""
{PC_LOAD}
Vielen Dank für Dein Feedback.