Domanda

Capisco le basi di tracciamento dei pixel, sono in grado di inserire un pixel che fa riferimento a un'immagine sul mio dominio di tracking per altri siti web.

Tuttavia, come faccio a incrementare quel pixel effettivo contare sul mio dominio di monitoraggio? C'è una sorta di registro che mi dice ogni volta che l'immagine dei pixel è stato servito? Sono in grado di fare qualcosa di simile:

<img src="http://www.foo.com/serveImage/getImage.php?id=5123" />

quindi avere la pagina di getImage, servire l'immagine, e l'incremento in base all'ID che è stato passato in? o c'è un modo migliore per raggiungere questo obiettivo?

Grazie in anticipo.

È stato utile?

Soluzione

se si desidera solo uscita un gif questo è un modo semplice e veloce, basta assicurarsi che lo script non uscita qualsiasi altra cosa prima o dopo:

header("Content-type: image/gif");
header("Content-length: 43");
$fp = fopen("php://output","wb");
fwrite($fp,"GIF89a\x01\x00\x01\x00\x80\x00\x00\xFF\xFF",15);
fwrite($fp,"\xFF\x00\x00\x00\x21\xF9\x04\x01\x00\x00\x00\x00",12);
fwrite($fp,"\x2C\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02",12);
fwrite($fp,"\x44\x01\x00\x3B",4);
fclose($fp);

Altri suggerimenti

Sì avete l'idea giusta.

Si dà ogni sito o una pagina un ID univoco, che viene quindi passato nel src dell'immagine. Quindi nel tuo esempio, l'ID è 5123.

Nello script getImage.php quindi utilizzare questo ID per incrementare il database (o comunque di registrare i dati) e restituire qualsiasi immagine che si desidera. Se si desidera che l'immagine si torna a mostrare il numero di visite è possibile creare un'immagine al volo con il GD estensione -. consultare il manuale di PHP per ulteriori informazioni su di esso

Questo è il mio codice binario:

<?php

$id = $_GET['site_id'];

// do track

$imageFile = 'images/pixel.jpg';
$im = imagecreatefromjpeg($imageFile);
header('Content-type: image/jpeg');
imagejpeg($im);


?>

Una specie di risposta tangenziale, ma troppo lungo per un commento:

Non è necessariamente bisogno di incrementare nulla, a seconda di come si sceglie di implementare esso. Se stai puntando il che rende super-veloce, solo basandosi sul server richiesta i registri dovrebbero essere sufficienti. Ogni richiesta per "getImage.php? Q = 5123" sarà già lì, non vi resta che strappare le informazioni pertinenti dalla querystring.

È possibile analizzare i log in un bel database query in grado più tardi (via cron et al), fuori banda, dove non influenzerà servendo i bug di tracciamento. Fare tutto in un solo colpo è un po 'più elegante, ma se si sta gestire un sacco di richieste, i registri sono già lì comunque.

Bonus: log dei server hanno anche referenti e timestamp, in modo da poter più facilmente vedere se qualcuno è direttamente martellando getImage.php o il collegamento ad essa da altrove a gioco i numeri, quei numeri dovrebbero essere qualcosa di valore

.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top