> 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 ... [php]<?php echo 'Php Rules!'; ?>[/php] [size=9][url]http://www.php.net[/url][/size] |
|
Du hast bereits für diesen
Post abgestimmt...
;-)
https://t.ress.at/eHssa/
© by Ress Design Group, 2001 - 2024