Dépister vos visiteurs, en utilisant PHP
| by Dennis Pallett | November 14, 2004
Ci sono molti attrezzi differenti di analisi di traffico, varianti dai contatori semplici per completare gli analizzatori di traffico. Anche se ci sono alcuni liberi, la maggior parte di loro vengono con una modifica di prezzi. Perchè non voi stessi? Con PHP, potete generare facilmente una lima di ceppo nei minuti. In questo articolo li mostrerò come!
Ottenere le informazioni
La parte più importante sta ottenendo le informazioni dal vostro ospite. Thankfully, questo è estremamente facile da fare in PHP (o in qualunque altra lingua scripting per quella materia). PHP ha un $_SERVER denominato variabile globale speciale che contiene parecchie variabili di ambiente, compreso le informazioni sul vostro ospite. Per ottenere tutte le informazioni che desiderate, usare semplicemente il seguente codice: /ottenendo information$ipaddress = $_SERVER [“REMOTE_ADDR„]; $page = “http:// {$_SERVER [“HTTP_HOST„]} {$_SERVER [“PHP_SELF„]}„; $page. = iif (! svuotar ($_SERVER [“QUERY_STRING„]),„? {$_SERVER [“QUERY_STRING„]}„, ""); $referrer = $_SERVER [“HTTP_REFERER„]; $datetime = mktime (); $useragent = $_SERVER [“HTTP_USER_AGENT„]; $remotehost = @getHostByAddr ($ipaddress);
Come potete vedere la maggior parte delle informazioni viene dalla variabile di $_SERVER. Il mktime () (http://nl2.php.net/mktime) e getHostByAddr () (le funzioni di http://nl2.php.net/manual/en/function.gethostbyaddr.php) sono usate per ottenere le informazioni supplementari sull'ospite.
Nota: Ho usato una funzione nel suddetto esempio denominato iif (). Potete ottenere questa funzione a http://www.phpit.net/code/iif-function.
Annotare le informazioni
Ora che avete tutte le informazioni che avete bisogno di, deve essere scritto ad una lima di ceppo in modo da potete più successivamente guardarli e generate i grafici e le tabelle utili. Per fare questa avete bisogno della funzione semplice di alcuni PHP, come fopen (http://www.php.net/fopen) e fwrite (http://www.php.net/fwrite).
Sotto il codice in primo luogo genererà una linea completa da tutte le informazioni. Allora aprirà la lima di ceppo in “collega„ il modo e se non esiste ancora, lo genera.
Se nessun errore ha accaduto, scriverà il nuovo logline alla lima di ceppo, alla parte inferiore ed infine chiude la lima di ceppo ancora./genera il ceppo line$logline = $ipaddress. ''. $referrer. ''. $datetime. ''. $useragent. ''. $remotehost. ''. $page. “ n„; /scrivere al ceppo file:$logfile = “/some/path/to/your/logfile.txt„; /aprire la lima di ceppo in “collegano„ il modeif (! $handle = fopen ($logfile, “a+„)) {dado (“non riuscito ad aprire la lima di ceppo„);}/scrivere $logline al nostro logfile.if (=== del fwrite ($handle, $logline) FALSO) {dado (“non riuscito a scrivere alla lima di ceppo„);} fclose ($handle);
Ora avete ottenuto completamente un modulo annotante di funzione. Per iniziare a rintracciare gli ospiti sul vostro Web site semplicemente per includere il modulo annotante nelle vostre pagine con l'includ () funzionare (http://www.php.net/include):include (“log.php„);
Approvazione, ora desidero osservare la mia lima di ceppo
Dopo un istante probabilmente desidererete osservare la vostra lima di ceppo. Potete fare facilmente così semplicemente usando un sistema di editazione testi standard (come il Notepad su Windows) per aprire la lima di ceppo, ma questa è lontano dal voluto da, perché è in duro--ha letto la disposizione.
Usiamo PHP per generare le descrizioni utili per è. La prima cosa che deve essere fatta è ottiene il soddisfare dalla lima di ceppo in un variabile, come così: /ceppo aperto file$logfile = “/some/path/to/your/logfile.txt„; se (file_exists ($logfile)) {$handle = fopen ($logfile, “r„); $log = fread ($handle, filesize ($logfile)); fclose ($handle);} altrimenti {dado (“la lima di ceppo non esiste! „);}
Ora che la lima di ceppo è in una variabile, è meglio se ogni logline è in una variabile separata. Possiamo fare questo che usando la funzione di esplosione () (http://www.php.net/explode), come così: /Seperate ogni logline$log = esplode (“ n„, cornice ($log)); Dopo che può essere utile ottenere ogni parte di ogni logline in una variabile separata. Ciò può essere fatta collegando con ogni logline ed usando esplodere ancora: /Seperate ogni parte in ogni loglinefor ($i = 0; $i < count="">
Ora la lima di ceppo completa è stata analizzata e siamo aspettiamo per cominciare generare un certo roba interessante.
La prima cosa che è molto facile da fare sta ottenendo il numero di pageviews. Usare semplicemente il conteggio () (http://www.phpit.net/count) sull'allineamento di $log e là lo avete; conteggio di eco ($log). “la gente ha visitato questo Web site. „;
Potete anche generare una descrizione completa della vostra lima di ceppo, usando un ciclo semplice e le tabelle del foreach. Per esempio: /esposizione una tabella del logfileecho “<table>„; eco “IP address </th> del <th>„; eco “<th>Referrer</th>„; eco “<th>Date</th>„; eco “<th>Useragent</th>„; eco “<th>Remote Host</th>„; foreach ($log come $logline) {eco “<tr>„; eco “<td>„. $logline [“0„]. “</td>„; eco “<td>„. urldecode ($logline [“1„]). “</td>„; eco “<td>„. data (“d/m/Y„, $logline [“2„]). “</td>„; eco “<td>„. $logline [“3„]. “</td>„; eco “<td>„. $logline [“4„]. “</td>„; eco “</tr>„;}eco “</table>„;
Potete anche usare le funzioni su ordinazione per filtrare fuori i motori ed i cingoli di ricerca. O generare i grafici usando le tabelle di PHP/SWF (http://www.maani.us/charts/index.php). Le possibilità sono infinite e potete fare tutti i generi di cose!
In conclusione…
In questo articolo li ho indicati che devono generare un modulo annotante per il vostro proprio Web site di PHP, usando nient'altro che PHP e le relative funzioni incorporate. Osservare la lima che di ceppo dovete analizzarli che usando PHP ed allora lo visualizza in che cosa senso gradite. Spetta voi per generare un analizzatore di traffico dell'd dei calci-asino.
Se ancora preferite usare un analizzatore pre-costruito di traffico, avere uno sguardo a http://www.hotscripts.com.
Ottenere le informazioni
La parte più importante sta ottenendo le informazioni dal vostro ospite. Thankfully, questo è estremamente facile da fare in PHP (o in qualunque altra lingua scripting per quella materia). PHP ha un $_SERVER denominato variabile globale speciale che contiene parecchie variabili di ambiente, compreso le informazioni sul vostro ospite. Per ottenere tutte le informazioni che desiderate, usare semplicemente il seguente codice: /ottenendo information$ipaddress = $_SERVER [“REMOTE_ADDR„]; $page = “http:// {$_SERVER [“HTTP_HOST„]} {$_SERVER [“PHP_SELF„]}„; $page. = iif (! svuotar ($_SERVER [“QUERY_STRING„]),„? {$_SERVER [“QUERY_STRING„]}„, ""); $referrer = $_SERVER [“HTTP_REFERER„]; $datetime = mktime (); $useragent = $_SERVER [“HTTP_USER_AGENT„]; $remotehost = @getHostByAddr ($ipaddress);
Come potete vedere la maggior parte delle informazioni viene dalla variabile di $_SERVER. Il mktime () (http://nl2.php.net/mktime) e getHostByAddr () (le funzioni di http://nl2.php.net/manual/en/function.gethostbyaddr.php) sono usate per ottenere le informazioni supplementari sull'ospite.
Nota: Ho usato una funzione nel suddetto esempio denominato iif (). Potete ottenere questa funzione a http://www.phpit.net/code/iif-function.
Annotare le informazioni
Ora che avete tutte le informazioni che avete bisogno di, deve essere scritto ad una lima di ceppo in modo da potete più successivamente guardarli e generate i grafici e le tabelle utili. Per fare questa avete bisogno della funzione semplice di alcuni PHP, come fopen (http://www.php.net/fopen) e fwrite (http://www.php.net/fwrite).
Sotto il codice in primo luogo genererà una linea completa da tutte le informazioni. Allora aprirà la lima di ceppo in “collega„ il modo e se non esiste ancora, lo genera.
Se nessun errore ha accaduto, scriverà il nuovo logline alla lima di ceppo, alla parte inferiore ed infine chiude la lima di ceppo ancora./genera il ceppo line$logline = $ipaddress. ''. $referrer. ''. $datetime. ''. $useragent. ''. $remotehost. ''. $page. “ n„; /scrivere al ceppo file:$logfile = “/some/path/to/your/logfile.txt„; /aprire la lima di ceppo in “collegano„ il modeif (! $handle = fopen ($logfile, “a+„)) {dado (“non riuscito ad aprire la lima di ceppo„);}/scrivere $logline al nostro logfile.if (=== del fwrite ($handle, $logline) FALSO) {dado (“non riuscito a scrivere alla lima di ceppo„);} fclose ($handle);
Ora avete ottenuto completamente un modulo annotante di funzione. Per iniziare a rintracciare gli ospiti sul vostro Web site semplicemente per includere il modulo annotante nelle vostre pagine con l'includ () funzionare (http://www.php.net/include):include (“log.php„);
Approvazione, ora desidero osservare la mia lima di ceppo
Dopo un istante probabilmente desidererete osservare la vostra lima di ceppo. Potete fare facilmente così semplicemente usando un sistema di editazione testi standard (come il Notepad su Windows) per aprire la lima di ceppo, ma questa è lontano dal voluto da, perché è in duro--ha letto la disposizione.
Usiamo PHP per generare le descrizioni utili per è. La prima cosa che deve essere fatta è ottiene il soddisfare dalla lima di ceppo in un variabile, come così: /ceppo aperto file$logfile = “/some/path/to/your/logfile.txt„; se (file_exists ($logfile)) {$handle = fopen ($logfile, “r„); $log = fread ($handle, filesize ($logfile)); fclose ($handle);} altrimenti {dado (“la lima di ceppo non esiste! „);}
Ora che la lima di ceppo è in una variabile, è meglio se ogni logline è in una variabile separata. Possiamo fare questo che usando la funzione di esplosione () (http://www.php.net/explode), come così: /Seperate ogni logline$log = esplode (“ n„, cornice ($log)); Dopo che può essere utile ottenere ogni parte di ogni logline in una variabile separata. Ciò può essere fatta collegando con ogni logline ed usando esplodere ancora: /Seperate ogni parte in ogni loglinefor ($i = 0; $i < count="">
Ora la lima di ceppo completa è stata analizzata e siamo aspettiamo per cominciare generare un certo roba interessante.
La prima cosa che è molto facile da fare sta ottenendo il numero di pageviews. Usare semplicemente il conteggio () (http://www.phpit.net/count) sull'allineamento di $log e là lo avete; conteggio di eco ($log). “la gente ha visitato questo Web site. „;
Potete anche generare una descrizione completa della vostra lima di ceppo, usando un ciclo semplice e le tabelle del foreach. Per esempio: /esposizione una tabella del logfileecho “<table>„; eco “IP address </th> del <th>„; eco “<th>Referrer</th>„; eco “<th>Date</th>„; eco “<th>Useragent</th>„; eco “<th>Remote Host</th>„; foreach ($log come $logline) {eco “<tr>„; eco “<td>„. $logline [“0„]. “</td>„; eco “<td>„. urldecode ($logline [“1„]). “</td>„; eco “<td>„. data (“d/m/Y„, $logline [“2„]). “</td>„; eco “<td>„. $logline [“3„]. “</td>„; eco “<td>„. $logline [“4„]. “</td>„; eco “</tr>„;}eco “</table>„;
Potete anche usare le funzioni su ordinazione per filtrare fuori i motori ed i cingoli di ricerca. O generare i grafici usando le tabelle di PHP/SWF (http://www.maani.us/charts/index.php). Le possibilità sono infinite e potete fare tutti i generi di cose!
In conclusione…
In questo articolo li ho indicati che devono generare un modulo annotante per il vostro proprio Web site di PHP, usando nient'altro che PHP e le relative funzioni incorporate. Osservare la lima che di ceppo dovete analizzarli che usando PHP ed allora lo visualizza in che cosa senso gradite. Spetta voi per generare un analizzatore di traffico dell'd dei calci-asino.
Se ancora preferite usare un analizzatore pre-costruito di traffico, avere uno sguardo a http://www.hotscripts.com.
Article Source: http://www.articleset.com

You are welcome to publish or reprint this article free of charge, provided:
- you include the entire article, unchanged, including the "About The Author" box
- all hyperlinks remain active, including the bottom ArticleSet.com link (does not apply to print publications)
- you agree not to hold the authors nor ArticleSet.com liable for any loss profits, expenses, or any other damages resulting from the use or misuse of articles published on this website