> Forums > PHP
P
PHP-Counter
Erstellt
Okt. '06
|
letzte Antwort
Noch keine
|
Antworten
Noch keine
|
Aufrufe
1.5T |
2
„Gefällt mir“ |
Abos
Noch keine |
Mi., 18. Oktober, 2006 um 23:10
#1
PHP: <?php //*********************************************************** //* PHP-Counter //* Grafischer Zugriffszähler mit Reload-Sperre. //* //* einfache Einbindung in HTML-Dateien mit: //* //* <script language="javascript1.2"> //* <!-- //* ref=escape(document.referrer); //* document.write("<img src=\"./counter.php4?ref="+ref+"\">" //* //--> //* </script> //* <noscript> //* <img src="./counter.php4"> //* </noscript> //* //* //* //* //*********************************************************** //*********************************************************** // Konfiguration //*********************************************************** $OFFSET = 54; // Wert, der zum aktuellen Counterstand hinzugefügt $FONT = 5; // Größe der Schrift (1..5) $HEIGHT = 13; // Höhe des Counter-Bildes (je nach Schriftgröße) $WIDTH = 30; // Breite des Counter-Bildes (je nach Schriftgröße) $MAXIP = 10; // Anzahl der zu speicherden IP-Adressen&Timecode für Reload-Sperre $FILENAME = "counter.dat"; // Name der Datei, in der die Counter-Daten gespeichert werden // (wird automatisch angelegt. Falls man auf dem Server keine // Rechte zum Anlegen von Dateien hat, einfach eine leere Datei // per FTP mitkopieren) $TIMEOUT = 1800; // Zeit(in Sekunden), nach der Zugriffe von derselben IP wieder gezählt werden. $TEXT = 0x000000; // Textfarbe als Hex-RGB (0xRRGGBB) $BACKGROUND = 0xffffff; // Hintergrundfarbe als Hex-RGB (0xRRGGBB) $ip = getenv("REMOTE_ADDR" $currtime = time(); if(!file_exists($FILENAME)) { $fd = fopen($FILENAME , "w+" ); fwrite( $fd, "0" fclose($fd); } // prüfen, ob Counter-Datei existiert, da sonst Skriptfehler auftritt if(file_exists($FILENAME)) { $file_array = file($FILENAME); $file_ip = array_slice($file_array,1, $MAXIP); $counter = $file_array; $found = false; // auf Reload prüfen foreach($file_ip as $var) { list($lastip,$lasttime) = explode(':',$var); if( !strcmp($ip,$lastip) && ( ($currtime-$lasttime) < $TIMEOUT)) { $found = true; } } if(!$found) { $counter = $counter+1; array_unshift($file_ip,($ip.":".$currtime."\n"); $file_ip = array_slice($file_ip,0, $MAXIP); $fd = fopen($FILENAME , "w+" ); fwrite( $fd, $counter."\n" foreach($file_ip as $var) fwrite( $fd, $var); fclose($fd); // write logfile about request (optional, requires "accesslog.php" in same directory) include("accesslog.php" } } else $counter = 0; header("content-Type: image/png" $img = ImageCreate($WIDTH, $HEIGHT); $bg_color = ImageColorAllocate($img, ($BACKGROUND >> 16)&255, ($BACKGROUND >> &255, $BACKGROUND&255); $text_color = ImageColorAllocate($img, ($TEXT >> 16)&255, ($TEXT >> &255, $TEXT&255); ImageString($img,$FONT,1,0,$counter+$OFFSET,$text_color); ImagePng($img); ImageDestroy($img); ?> C&M distanziert sich konkret und ausdrücklich vom Inhalt dieses Postings. Der Ersteller des Postings haftet für seine Äußerungen. Inhalte, die nicht den Forumsregeln entsprechen sind bitte vom Leser zu melden ... echo "Php Rules!";http://www.php.net |
|
Du hast bereits für diesen
Post abgestimmt...
;-)
https://t.ress.at/eHssa/
© by Ress Design Group, 2001 - 2024