Seguir a tus visitantes, usando PHP
| by Dennis Pallett | November 14, 2004
Hay muchas diversas herramientas del análisis de tráfico, extendiéndose de contadores simples para terminar analizadores del tráfico. Aunque hay algunos libres, la mayor parte de vienen con una etiqueta de precio. ¿Por qué no tú mismo? Con PHP, puedes crear fácilmente un fichero de diario dentro de minutos. ¡En este artículo te demostraré cómo!
Conseguir la información
La parte más importante está consiguiendo la información de tu visitante. Agradecidamente, esto es extremadamente fácil de hacer en PHP (o cualquier otra lengua scripting para esa materia). PHP tiene un $_SERVER llamado variable global especial que contenga varias variables de entorno, incluyendo la información sobre tu visitante. Para conseguir toda la información que deseas, utilizar simplemente el código siguiente: /consiguiendo information$ipaddress = $_SERVER [“REMOTE_ADDR”]; $page = “http:// {$_SERVER [“HTTP_HOST”]} {$_SERVER [“PHP_SELF”]}”; $page. ¡= iif (! ¿vaciar ($_SERVER [“QUERY_STRING”]),”? {$_SERVER [“QUERY_STRING”]}”, ""); $referrer = $_SERVER [“HTTP_REFERER”]; $datetime = mktime (); $useragent = $_SERVER [“HTTP_USER_AGENT”]; $remotehost = @getHostByAddr ($ipaddress);
Como puedes ver la mayoría de información viene de la variable de $_SERVER. El mktime () (http://nl2.php.net/mktime) y getHostByAddr () (las funciones de http://nl2.php.net/manual/en/function.gethostbyaddr.php) se utilizan para conseguir la información adicional sobre el visitante.
Nota: Utilicé una función en el ejemplo antedicho llamado iif (). Puedes conseguir esta función en http://www.phpit.net/code/iif-function.
Registración de la información
Ahora que tienes toda la información que necesitas, debe ser escrito a un fichero de diario así que puedes mirarlo más adelante, y creas gráficos y cartas útiles. Para hacer esto necesitas la función simple de algunos PHP, como fopen (http://www.php.net/fopen) y fwrite (http://www.php.net/fwrite).
Abajo el código primero creará una línea completa fuera de toda la información. Entonces abrirá el fichero de diario en “añade” modo, y si no existe todavía, lo crea.
Si han ocurrido ningunos errores, escribirá el logline nuevo al fichero de diario, en el fondo, y finalmente cierra el fichero de diario otra vez./crea el registro line$logline = $ipaddress. ''. $referrer. ''. $datetime. ''. $useragent. ''. $remotehost. ''. $page. “ n”; /escribir al registro file:$logfile = “/some/path/to/your/logfile.txt”; ¡/abrir el fichero de diario en “añaden” el modeif (! $handle = fopen ($logfile, “a+”)) {dado (“no podido abrir el fichero de diario”);}/escribir $logline a nuestro logfile.if === (del fwrite ($handle, $logline) FALSO) {el dado (“no podido escribir al fichero de diario”);} fclose ($handle);
Ahora tienes completamente un módulo de registración de la función. Para comenzar a seguir a visitantes en tu Web site simplemente para incluir el módulo de registración en tus páginas con el incluir () funcionar (http://www.php.net/include):include (“log.php”);
Autorización, ahora deseo ver mi fichero de diario
Un poco después desearás probablemente ver tu fichero de diario. Puedes hacer fácilmente tan simplemente usando un editor de textos estándar (como la libreta en Windows) para abrir el fichero de diario, pero éste está lejos de deseado, porque está en duro-a-leyó formato.
Utilicemos PHP para generar las descripciones útiles para es. La primera cosa que necesita ser hecha es consigue el contenido del fichero de diario en un variable, como tan: /registro abierto file$logfile = “/some/path/to/your/logfile.txt”; si (file_exists ($logfile)) {$handle = fopen ($logfile, “r”); $log = fread ($handle, filesize ($logfile)); fclose ($handle);} ¡{dado (“el fichero de diario no existe! ”);}
Ahora que el fichero de diario está en una variable, es el mejor si cada logline está en una variable separada. Podemos hacer esto que usa la función del estallar () (http://www.php.net/explode), como tan: /Seperate cada logline$log = estalla (“ n”, el ajuste ($log)); Después que puede ser útil conseguir cada parte de cada logline en una variable separada. Esto puede ser hecha colocando con cada logline, y con estallar otra vez: /Seperate cada parte en cada loglinefor ($i = 0; $i < count="">
Ahora el fichero de diario completo se ha analizado, y somos listos comenzar a generar un poco de materia interesante.
La primera cosa que es muy fácil de hacer está consiguiendo el número de pageviews. Utilizar simplemente la cuenta () (http://www.phpit.net/count) en el arsenal de $log, y allí lo tienes; cuenta del eco ($log). la “gente ha visitado este Web site. ”;
Puedes también generar una descripción completa de tu fichero de diario, usando un lazo simple y las tablas del foreach. Por ejemplo: /demostración una tabla 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 como $logline) {eco “<tr>”; eco “<td>”. $logline [“0”]. “</td>”; eco “<td>”. urldecode ($logline [“1”]). “</td>”; eco “<td>”. fecha (“d/m/Y”, $logline [“2”]). “</td>”; eco “<td>”. $logline [“3”]. “</td>”; eco “<td>”. $logline [“4”]. “</td>”; eco “</tr>”;}eco “</table>”;
Puedes también utilizar funciones de encargo para filtrar hacia fuera los motores y las correas eslabonadas de búsqueda. O crear los gráficos usando las cartas de PHP/SWF (http://www.maani.us/charts/index.php). ¡Las posibilidades son sin fin, y puedes hacer todas las clases de cosas!
En la conclusión…
En este artículo te he demostrado que tienen que crear un módulo de registración para tu propio Web site de PHP, no usando nada más que PHP y sus funciones incorporadas. Ver el fichero de diario que necesitas analizarlo que usa PHP, y entonces lo exhibe en cualquier manera tienes gusto. Está hasta ti para crear un analizador del tráfico del golpear-asno.
Si todavía prefieres utilizar un analizador pre-construido del tráfico, tener una mirada en http://www.hotscripts.com.
Conseguir la información
La parte más importante está consiguiendo la información de tu visitante. Agradecidamente, esto es extremadamente fácil de hacer en PHP (o cualquier otra lengua scripting para esa materia). PHP tiene un $_SERVER llamado variable global especial que contenga varias variables de entorno, incluyendo la información sobre tu visitante. Para conseguir toda la información que deseas, utilizar simplemente el código siguiente: /consiguiendo information$ipaddress = $_SERVER [“REMOTE_ADDR”]; $page = “http:// {$_SERVER [“HTTP_HOST”]} {$_SERVER [“PHP_SELF”]}”; $page. ¡= iif (! ¿vaciar ($_SERVER [“QUERY_STRING”]),”? {$_SERVER [“QUERY_STRING”]}”, ""); $referrer = $_SERVER [“HTTP_REFERER”]; $datetime = mktime (); $useragent = $_SERVER [“HTTP_USER_AGENT”]; $remotehost = @getHostByAddr ($ipaddress);
Como puedes ver la mayoría de información viene de la variable de $_SERVER. El mktime () (http://nl2.php.net/mktime) y getHostByAddr () (las funciones de http://nl2.php.net/manual/en/function.gethostbyaddr.php) se utilizan para conseguir la información adicional sobre el visitante.
Nota: Utilicé una función en el ejemplo antedicho llamado iif (). Puedes conseguir esta función en http://www.phpit.net/code/iif-function.
Registración de la información
Ahora que tienes toda la información que necesitas, debe ser escrito a un fichero de diario así que puedes mirarlo más adelante, y creas gráficos y cartas útiles. Para hacer esto necesitas la función simple de algunos PHP, como fopen (http://www.php.net/fopen) y fwrite (http://www.php.net/fwrite).
Abajo el código primero creará una línea completa fuera de toda la información. Entonces abrirá el fichero de diario en “añade” modo, y si no existe todavía, lo crea.
Si han ocurrido ningunos errores, escribirá el logline nuevo al fichero de diario, en el fondo, y finalmente cierra el fichero de diario otra vez./crea el registro line$logline = $ipaddress. ''. $referrer. ''. $datetime. ''. $useragent. ''. $remotehost. ''. $page. “ n”; /escribir al registro file:$logfile = “/some/path/to/your/logfile.txt”; ¡/abrir el fichero de diario en “añaden” el modeif (! $handle = fopen ($logfile, “a+”)) {dado (“no podido abrir el fichero de diario”);}/escribir $logline a nuestro logfile.if === (del fwrite ($handle, $logline) FALSO) {el dado (“no podido escribir al fichero de diario”);} fclose ($handle);
Ahora tienes completamente un módulo de registración de la función. Para comenzar a seguir a visitantes en tu Web site simplemente para incluir el módulo de registración en tus páginas con el incluir () funcionar (http://www.php.net/include):include (“log.php”);
Autorización, ahora deseo ver mi fichero de diario
Un poco después desearás probablemente ver tu fichero de diario. Puedes hacer fácilmente tan simplemente usando un editor de textos estándar (como la libreta en Windows) para abrir el fichero de diario, pero éste está lejos de deseado, porque está en duro-a-leyó formato.
Utilicemos PHP para generar las descripciones útiles para es. La primera cosa que necesita ser hecha es consigue el contenido del fichero de diario en un variable, como tan: /registro abierto file$logfile = “/some/path/to/your/logfile.txt”; si (file_exists ($logfile)) {$handle = fopen ($logfile, “r”); $log = fread ($handle, filesize ($logfile)); fclose ($handle);} ¡{dado (“el fichero de diario no existe! ”);}
Ahora que el fichero de diario está en una variable, es el mejor si cada logline está en una variable separada. Podemos hacer esto que usa la función del estallar () (http://www.php.net/explode), como tan: /Seperate cada logline$log = estalla (“ n”, el ajuste ($log)); Después que puede ser útil conseguir cada parte de cada logline en una variable separada. Esto puede ser hecha colocando con cada logline, y con estallar otra vez: /Seperate cada parte en cada loglinefor ($i = 0; $i < count="">
Ahora el fichero de diario completo se ha analizado, y somos listos comenzar a generar un poco de materia interesante.
La primera cosa que es muy fácil de hacer está consiguiendo el número de pageviews. Utilizar simplemente la cuenta () (http://www.phpit.net/count) en el arsenal de $log, y allí lo tienes; cuenta del eco ($log). la “gente ha visitado este Web site. ”;
Puedes también generar una descripción completa de tu fichero de diario, usando un lazo simple y las tablas del foreach. Por ejemplo: /demostración una tabla 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 como $logline) {eco “<tr>”; eco “<td>”. $logline [“0”]. “</td>”; eco “<td>”. urldecode ($logline [“1”]). “</td>”; eco “<td>”. fecha (“d/m/Y”, $logline [“2”]). “</td>”; eco “<td>”. $logline [“3”]. “</td>”; eco “<td>”. $logline [“4”]. “</td>”; eco “</tr>”;}eco “</table>”;
Puedes también utilizar funciones de encargo para filtrar hacia fuera los motores y las correas eslabonadas de búsqueda. O crear los gráficos usando las cartas de PHP/SWF (http://www.maani.us/charts/index.php). ¡Las posibilidades son sin fin, y puedes hacer todas las clases de cosas!
En la conclusión…
En este artículo te he demostrado que tienen que crear un módulo de registración para tu propio Web site de PHP, no usando nada más que PHP y sus funciones incorporadas. Ver el fichero de diario que necesitas analizarlo que usa PHP, y entonces lo exhibe en cualquier manera tienes gusto. Está hasta ti para crear un analizador del tráfico del golpear-asno.
Si todavía prefieres utilizar un analizador pre-construido del tráfico, tener una mirada en 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