Es gibt viele (auch kostenlose) Counter für Internetseiten. Ich habe meine Seiten in einem INTRANET auf dem Server. Jetzt suche ich einen kostenlosen Counter, um evtl. unnötige Seiten rauszunehmen. Das Teil hat schon 100 MB und enthält einige Fachliteratur und sonstige Nachschlagewerke unserer "Firma"! Die Seiten sind mit Frontpage erstellt, auf dem Server sind keine Servererweiterungen installiert. Danke im Voraus
Läuft auf dem Server PHP oder sowas in der Art? Das wäre die beste Möglichkeit, um unabhängig vom Internet einen Counter zu betreiben. Die kostenlosen Counter im Internet laufen meist über irgendeinen anderen Server, auf dem die Zählerdaten gespeichert werden. Glaube das macht sich im Intranet wohl nicht so gut.
Von selfPHP wird ein Counter als Freeware angeboten.
Ich habe ihn versteckt in der noch im lokalen Netzwerk befindlichen Seite eingebaut und er funktioniert einfach geradeaus.
Die Funktionen sind absolut ausreichend und sogar die Unterdrückung gleicher IP`s auf einen bestimmten Zeitraum hinweg wurde
unterdrückt (das bieten manche durch Werbung finanzierte Counter aus dem Netz nicht unbedingt ;-) )
Du mußt allerdings einen eigenen Webserver einrichten, um den Counter das erste mal auszuführen damit er die entsprechenden
Log-Dateien erstellt..
Den Quelltext ansich habe ich später noch in eine hübsche verschachtelte Tabelle eingebaut in der Optik der von mri
erstellten Webseite (damit der Chef was feines zu gucken hat ;-) )
so, nun der Quelltext:
<?php // wie lange gilt wird eine ip nicht als neuer besucher gewertet (in minuten) $t_counter=120; // wie lange gilt besucher als online (in minuten) $t_user_online=5; // pfad zum besucherzaehler $p_counter='counter.log'; // pfad zur datei, die maximale zahl gleichzeitiger nutzer speichert $p_counter_max='counter_max.log'; // pfad zur datei, die die ips des besucherzaehlers speichert $p_ips_counter='ips_counter.log'; // pfad zur datei, die die ips der aktuell auf der seite befindlichen user speichert $p_ips_user_online='ips_user_online.log';
nicht vorhandene dateien erstellen wenn dateien vorhanden sind und skript einwandfrei laeuft, dann diese zeilen auskommentieren (// davor) if (!file_exists($p_counter)) { $fh=fopen($p_counter, 'w'); fwrite($fh, "0"); fclose($fh); } if (!file_exists($p_counter_max)) { $fh=fopen($p_counter_max, 'w'); fwrite($fh, time().'#0'); fclose($fh); } if (!file_exists($p_ips_counter)) { $fh=fopen($p_ips_counter, 'w'); fclose($fh); } if (!file_exists($p_ips_user_online)) { $fh=fopen($p_ips_user_online, 'w'); fclose($fh); }
// user online - noch gueltige ips raussuchen $i=0; $j=0; $ip_exists=0; while ($i < count($ips_user_online)) { $temp=explode('#', trim($ips_user_online[$i])); if (time() < $temp[0]+$t_user_online*60) { $ips[$j]=$ips_user_online[$i]; $j++; // wenn ip des aktuellen besuchers gefunden, dann vermerken if ($temp[1]==$ip) { $ip_exists=1; } } $i++; } // wenn aktuelle ip nicht gefunden wurde ($ip_exists==0) oder alle entsorgt wurden, dann diese hinzufuegen if (!isset($ips) && $ip_exists==1 || $ip_exists==0) { $ips[$i]=time().'#'.$ip; } // anzahl felder von $ips entspricht anzahl der user online $user_online=count($ips); // wenn aktuelle zahl besucher groesser als letztes maximum, dann ueberschreiben und neu einlesen if ($user_online>$counter_max[1]) { $fh=fopen($p_counter_max, 'w'); fwrite($fh, time().'#'.$user_online); fclose($fh); $temp=file($p_counter_max); $counter_max=explode('#', $temp[0]); } // die ips speichern $fh=fopen($p_ips_user_online, 'w'); fwrite($fh, join("\n", $ips)); fclose($fh);
// besucherzaehler - noch gueltige ips raussuchen $i=0; $j=0; $ip_exists=0; while ($i < count($ips_counter)) { $temp=explode('#', trim($ips_counter[$i])); if (time() < $temp[0]+$t_counter*60) { $ips[$j]=$ips_counter[$i]; $j++; // wenn ip des aktuellen besuchers gefunden, dann vermerken if ($temp[1]==$ip) { $ip_exists=1; } } $i++; } // wenn aktuelle ip nicht gefunden wurde ($ip_exists==0) oder alle entsorgt wurden, dann diese hinzufuegen if (!isset($ips) && $ip_exists==1 || $ip_exists==0) { $ips[$i]=time().'#'.$ip; $counter++; $fh=fopen($p_counter, 'w'); fwrite($fh, $counter); fclose($fh); } // die ips speichern $fh=fopen($p_ips_counter, 'w'); fwrite($fh, join("\n", $ips)); fclose($fh);
// ausgabe der besucherdaten
echo '
Counterstatistik ' ;echo ' Anzahl Besucher insgesamt seit dem 03.11.2003: ' ; echo ''.$counter.' <br>';echo ' Anzahl momentaner Besucher: '; echo ''.$user_online.'<br>';echo ' maximale Besucheranzahl
am '.date("d.m.Y", $counter_max[0]).':'; echo ' '.$counter_max[1].' <br>'; echo '<br><p align="center">IP-Adressen aller Besucher anzeigen: <a href="ips_counter.log" ><font color="#808080">Hier
klicken</font></a> <br> IP-Adressen aller auf dieser Seite befindlichen Benutzer anzeigen: <a href="ips_user_online.log"
Die Ausgabe mußt du dir selbst hübsch zurecht machen ;-)
Achja, nach dem ersten Druchlauf mußt du wie im Quelltext angegeben die Stellen die die LOG-Files erstellen auskommentieren!
Zu guter Letzt: der Ersteller von selfPHP stellt den Quelltext für umsonst zur Verfügung, möchte aber, dass wenn dieser weiter gegeben wird im originalzustand weitergeleitet wird. Tjoa, das ist er jetzt auch bis auf 1-2 <br>-Tags in der Ausgabe ;-)
Oh, achja.. falls das script durch copy & paste beschädigt wurde und du es auf selfPHP nicht finden kannst, sag mir bescheid und ich schicke es dir als E-Mail Anhang.