Mailinglisten-Archive |
hi meine Name ist Steffen und bin neu hier ... *g* Bin ein ASP Profi und PHP Anfänger. Nun gleich die Frage. habe mal zum testen einen Counter gemacht der extern auf einen Unix Server läuft. Damit will ich die Pageimpressions von einem Webangebot zählen was auf einem anderen (NT) Server laüft. Das Script ist simple: <?php $myfile = "./cgi-bin/auswertung/" . date("d_m_y") . ".txt"; if(!is_file($myfile)) { $myfile = fopen($myfile ,"w"); fputs($myfile, 1); } else { $fp = _(at)_fopen($myfile ,"r"); $myline = fgets($fp,12); ++$myline; fclose($fp); $fp = _(at)_fopen($myfile ,"w"); flock($fp, "2"); fputs($fp, $myline); flock($fp, "3"); } fclose($fp); ?> Ich lege also jeden Tag ein neues Textfile an und schreibe jeden Zugriff als ++ rein. Diese Script setze ich als <img src="counter.php3" border="0" width="0" height="0"> in einem iLayer bzw. iFrame auf allen Seiten auf der NT Kiste ein. Nun habe ich das 1 Tag laufen lassen und merke das das Script doch nicht ständig zählt. Bei normalen (Shift) Reloads zählt der Zähler nicht weiter . Nur ab und zu zählt er dann wieder nicht. Wird das File durch das Flock zu lange gesperrt? Woran kann das liegen, muss man da einstellen das das File nicht gecached werden soll oder sowas, oder funktionieren solche Zähler in PHP zu langsam. Zumindest in ASP funzte es prima, aber das ASP war halt auf demselben Server wie die zu zählenden Webseiten. Wäre nett wenn mir jemand Anfangshilfe geben könnte. Thx Steffen ps, wems noch interessiert hier das Script um die Tagesfiles auszuwerten: <body> <table cellspacing="2" cellpadding="2" border="0" width="100%"> <tr> <td width="100%" bgcolor="black" align="center" colspan="2"> <font face="Arial" color="white">Banner Views </td> </tr> <?php $mydir = opendir("./cgi-bin/auswertung/"); while($entryName = readdir($mydir)) { if(is_file("./cgi-bin/auswertung/" . $entryName)) { $myfile = fopen("./cgi-bin/auswertung/" . $entryName ,"r"); $myline = fgetss($myfile, 255); $gesamt=$gesamt+$myline;?> <tr bgcolor="<?php if(bcmod($myfile,"2")==0) print("silver"); } else print("#eeeeee"); } ?>"> <td width="50%" align="center"><font face="Arial" color=black> <?php print("Datum: " . ereg_replace("_", ".", ereg_replace(".txt", "", $entryName))); ?> </td> <td width="50%" align="center"><font face="Arial" color=black><?php print("<b>".$myline."</b>"." Banner Views!"); ?></td></tr> <?php } } fclose($myfile); closedir($mydir); ?> </table> --- ------------------------------------- lauterbach_(at)_gamesattack.de ICQ: 384668 Steffen Lauterbach http://www.gamesattack.de ------------------------------------- --
php::bar PHP Wiki - Listenarchive