PHP-Logo
Druckansicht von http://www.php-homepage.de/scripts/source_246.html

PHP-Logo
[ Main Menue ]
Homepage
Downloads
Artikel
Scripts
Forum
PHP-Manual
Links
News
Freelancer
Bücher
RuDolF
Suche
Misc
Über diese Seite
Kontakt
Wunschzettel
MyGuestbook
*
[ Suche ]
*
[ Partner ]


Domain Webhosting
*
[ Partner Sites ]
Dynamic-Webpages
PHP-Center
PHP-Welt
phpUG.de
Random Link
*
[ Autoren gesucht! ]
PHP-Homepage.de sucht laufend Autoren für News und Artikel
Interesse?
*

Follow on Twitter - @phphomepage

RSS Feed blogoscoop

[Start] [Suche] [Neue Einträge

Hochlast-Counter

<?

//----------------------------------------------------------------------//

// Hochlast-Counter //

// Copyright (C) 2002 Sebastian Wichmann :: sebastian@flashhilfe.de //

// Andre Teubner :: a.teubner@incolere.de //

// //

// This Software is distributed under the GNU General Public //

// License. //

// //

// www.flashhilfe.de :: a.teubner@incolere.de //

//----------------------------------------------------------------------//
$ordner = "/der/pfad/zum/counter/";
$ip_ordner = "ip/"; # das wird dem Hauptpfad ($ordner) angehängt
$heute_ordner = "heute/"; # das wird dem Hauptpfad ($ordner) angehängt

$counter_datei = "counter.txt";

$ip = gethostbyaddr($REMOTE_ADDR);
$datum = date("d.m.Y");

# Wann IP gelöscht werden soll. In Minuten
$timeout = "30";
$timestamp = time();
$loeschzeit = $timestamp-($timeout*60);

# Counter auslesen.
$counter_dat = @file($ordner.$counter_datei);
$counter = trim($counter_dat[0]);


function writeCounter($file,$daten_inhalt ,$openTimeout=1,$lockTimeout=1)
{
while(!$fp=@fopen($file, "w"))
{
usleep(100000);
$openTimeout--;
if($openTimeout==0) return false;
}

while(!@flock($fp,2))
{
usleep(100000);
$lockTimeout--;
if($lockTimeout==0) return false;
}

if(!@fputs($fp,$daten_inhalt))
{
@flock($fp,3);
@fclose($fp);
return false;
}

@flock($fp,3);
@fclose($fp);

return true;
}

function heute($ordner, $heute_ordner, $datum) {

if(!file_exists($ordner.$heute_ordner.$datum.".txt"))
{
# Tages Statistik - Neuer Tag - Counter um 1 erhöhen
writeCounter($ordner.$heute_ordner.$datum.".txt","1",10,10);

} else {

$heute_dat = @file($ordner.$heute_ordner.$datum.".txt");
$heute = @trim($heute_dat[0]);

$heute = ++$heute;

# Tages Statistik counter um +1 erhöhen
writeCounter($ordner.$heute_ordner.$datum.".txt",$heute,10,10);
}
}


if(!file_exists($ordner.$ip_ordner.$ip.".txt"))
{
# IP Datei neu anlegen
writeCounter($ordner.$ip_ordner.$ip.".txt",$timestamp,10,10);

# Counter um 1 erhöhen
writeCounter($ordner.$counter_datei,++$counter,10,10);

heute($ordner, $heute_ordner, $datum);

} else {

$handle = opendir($ordner.$ip_ordner);
while ($file = readdir ($handle)) {
if ($file != "." && $file != "..") {

# Zeit kontrollieren
$ip_dat = @file($ordner.$ip_ordner.$file);
$ip_datum = trim($ip_dat[0]);

# IP löschen
if($ip_datum < $loeschzeit) {
@unlink($ordner.$ip_ordner.$file);
}
}
}
closedir($handle);
}
?>
© Copyright 1999 - 2011 by Mark Kronsbein | Impressum | NutzungsbedingungenWeiterempfehlen | Seitenanfang
0.3739