Deine Besucher mit PHP aufspüren

| by Dennis Pallett | November 14, 2004
Es gibt viele unterschiedliche Verkehrsauswertung Werkzeuge und reicht von den einfachen Kostenzählern, um Verkehr Analysatoren durchzuführen. Obgleich es einige freie gibt, kommen die meisten ihnen mit einem Preisumbau. Warum nicht es sich? Mit PHP kannst du eine Maschinenbordbuchakte innerhalb der Minuten leicht herstellen. In diesem Artikel zeige ich dich wie!

Erhalten der Informationen

Das wichtigste Teil erhält die Informationen von deinem Besucher. Dankbar ist dieses extrem einfach, in PHP (oder in irgendeiner anderen scripting Sprache für diese Angelegenheit) zu tun. PHP hat ein spezielles globales variables benanntes $_SERVER, das einige Klimavariablen enthält, einschließlich Informationen über deinen Besucher. Um alle Informationen zu erhalten, die du wünschst, den folgenden Code einfach verwenden: /erhalten information$ipaddress = $_SERVER [„REMOTE_ADDR“]; $page = „http:// {$_SERVER [„HTTP_HOST“]} {$_SERVER [„PHP_SELF“]}“; $page. = iif (! leeren ($_SERVER [„QUERY_STRING“]),“? {$_SERVER [„QUERY_STRING“]}“, ""); $referrer = $_SERVER [„HTTP_REFERER“]; $datetime = mktime (); $useragent = $_SERVER [„HTTP_USER_AGENT“]; $remotehost = @getHostByAddr ($ipaddress);

Wie du sehen kannst, kommt die Majorität von Informationen von der $_SERVER Variable. Das mktime () (http://nl2.php.net/mktime) und getHostByAddr () (http://nl2.php.net/manual/en/function.gethostbyaddr.php) Funktionen werden verwendet, um zusätzliche Informationen über den Besucher zu erhalten.

Anmerkung: Ich verwendete eine Funktion im oben genannten Beispiel, das iif genannt wurde (). Du kannst diese Funktion bei http://www.phpit.net/code/iif-function erhalten.

Protokollierung der Informationen

Nun da du alle Informationen hast, die du benötigst, muß es zu einer Maschinenbordbuchakte geschrieben werden also, kannst du sie später betrachten und verursachst nützliche Diagramme und Diagramme. Um dies zu tun benötigst du einige einfache PHP Funktion, wie fopen (http://www.php.net/fopen) und fwrite (http://www.php.net/fwrite).

Der unten Code verursacht zuerst eine komplette Linie aus allen Informationen heraus. Dann öffnet er die Maschinenbordbuchakte in „anfügt“ Modus und wenn er nicht noch besteht, verursacht ihn.

Wenn keine Störungen aufgetreten sind, schreibt er das neue logline zur Maschinenbordbuchakte, an der Unterseite und schließt schließlich, die Maschinenbordbuchakte wieder./stellt Maschinenbordbuch line$logline = $ipaddress her. ''. $referrer. ''. $datetime. ''. $useragent. ''. $remotehost. ''. $page. „ n“; /zum Maschinenbordbuch file:$logfile schreiben = „/some/path/to/your/logfile.txt“; /die Maschinenbordbuchakte in öffnen „anfügen“ modeif (! $handle = fopen ($logfile, „a+“)) {Würfel („Maschinenbordbuchakte öffnen nicht gekonnt“);}/$logline zu unserem logfile.if schreiben (fwrite ($handle, $logline) das === FALSCH) {Würfel („zur Maschinenbordbuchakte schreiben nicht können“);} fclose ($handle);

Jetzt hast du ein völlig Funktion loggenmodul. Um Besucher auf deiner Web site einfach aufzuspüren zu beginnen das loggenmodul in deine Seiten mit einschliessen mit einzuschließen () arbeiten (http://www.php.net/include):include („log.php“);

O.K., jetzt möchte ich meine Maschinenbordbuchakte ansehen

Nach einer Weile wünschst du vermutlich deine Maschinenbordbuchakte ansehen. Du kannst leicht so tun, indem Sie einfach einen Standardtextherausgeber (wie Notizblock auf Windows) verwenden um die Maschinenbordbuchakte zu öffnen, aber diese ist weit von gewünscht, weil es in hart-zu-las Format ist.

Lassen Sie uns PHP verwenden, um nützliche überblicke für zu erzeugen ist. Die erste Sache, die erfolgt werden muß, ist erhalten den Inhalt von der Maschinenbordbuchakte in einem variablem, wie so: /geöffnetes Maschinenbordbuch file$logfile = „/some/path/to/your/logfile.txt“; wenn (file_exists ($logfile)) {$handle = fopen ($logfile, „r“); $log = fread ($handle, filesize ($logfile)); fclose ($handle);} sonst {Würfel („die Maschinenbordbuchakte besteht nicht! “);}

Nun da die Maschinenbordbuchakte in einer Variable ist, ist sie am besten, wenn jedes logline in einer unterschiedlichen Variable ist. Wir können dies tun, welches die Explosionsverwendet () Funktion (http://www.php.net/explode), wie so: /explodieren jedes Seperate logline$log = („ n“, Ordnung ($log)); Nachher, daß es nützlich sein kann, jedes Teil jedes logline in einer unterschiedlichen Variable zu erhalten. Dieses kann getan werden, indem man durch jedes logline sich schlingt, und mit wieder explodieren: /Seperate jedes Teil in jedem loglinefor ($i = 0; $i < count="">

Jetzt ist die komplette Maschinenbordbuchakte analysiert worden, und wir sind bereit etwas, interessantes Material zu erzeugen zu beginnen.

Die erste Sache, die sehr einfach zu tun ist, erhält die Zahl pageviews. Zählimpuls einfach verwenden () (http://www.phpit.net/count) auf der $log Reihe, und dort hast du sie; Echozählimpuls ($log). „Leute haben diese Web site besichtigt. “;

Du kannst einen kompletten überblick über deine Maschinenbordbuchakte mit einer einfachen foreach Schleife und Tabellen auch erzeugen. Z.B.: /Erscheinen eine Tabelle des logfileecho „<table>“; Echo „<th> IP address </th>“; Echo „<th>Referrer</th>“; Echo „<th>Date</th>“; Echo „<th>Useragent</th>“; Echo „<th>Remote Host</th>“; foreach ($log als $logline) {Echo „<tr>“; Echo „<td>“. $logline [„0“]. „</td>“; Echo „<td>“. urldecode ($logline [„1“]). „</td>“; Echo „<td>“. Datum („d/m/Y“, $logline [„2“]). „</td>“; Echo „<td>“. $logline [„3“]. „</td>“; Echo „<td>“. $logline [„4“]. „</td>“; Echo „</tr>“;}Echo „</table>“;

Du kannst kundenspezifische Funktionen auch verwenden, um Search Engines und Gleisketten heraus zu filtern. Oder Diagramme mit PHP/SWF Diagrammen verursachen (http://www.maani.us/charts/index.php). Die Möglichkeiten sind endlos und du kannst alle Arten Sachen tun!

Als schlußfolgerung…

In diesem Artikel habe ich dich gezeigt, ein loggenmodul für deine eigene PHP Web site mit nichts herstellen daß müssen mehr als PHP und seine eingebauten Funktionen. Die Maschinenbordbuchakte anzusehen, die du sie analysieren mußt PHP verwendend und zeigen es dann in an was Weise du magst. Es ist bis zu dir, zum eines Tretenesel Verkehr Analysators herzustellen.

Wenn du noch es vorziehst, einen vor-errichteten Verkehr Analysator zu benutzen, einen Blick bei http://www.hotscripts.com haben.

Article Source: http://www.articleset.com



About the Author

Dennis Pallett is a young tech writer, with much experience in ASP, PHP and other web technologies. He enjoys writing, and has written several articles and tutorials. To find more of his work, look at his websites at http://www.phpit.net, http://www.aspit.net and http://www.ezfaqs.com. » Read more articles by Dennis Pallett
You are welcome to publish or reprint this article free of charge, provided: