È possibile scrivere uno script che crea e restituisce un'immagine .gif
, .jpeg
o .png
usando PHP per monitoraggio scopi utilizzando il GD library (che è spesso distribuito con PHP nelle versioni moderne). Se non hai accesso a GD, puoi sempre ricompilare PHP con GD abilitato.
Esempio:
pixel.php
(commentato ai fini della spiegazione):
<?php
// Create an image, 1x1 pixel in size
$im=imagecreate(1,1);
// Set the background colour
$white=imagecolorallocate($im,255,255,255);
// Allocate the background colour
imagesetpixel($im,1,1,$white);
// Set the image type
header("content-type:image/jpg");
// Create a JPEG file from the image
imagejpeg($im);
// Free memory associated with the image
imagedestroy($im);
?>
In un semplice esempio, è possibile chiamare questo rilevamento utilizzando il seguente URL di esempio in una e-mail o altro pagina:
<img src="http://example.com/pixel.php?s=value1&b=value2&c=value3">
variabili utilizzando:
All'interno del vostro pixel.php
si può quindi analizzare e interpretare eventuali $_GET
variabili che vengono passate ad esso all'interno del tag immagine, semplicisticamente:
if (isset($_GET['a'])) {
// (Do|log) act on a
}
if (isset($_GET['b'])) {
// (Do|log) act on b
}
if (isset($_GET['c'])) {
// (Do|log) act on c
}
Apply e ripetere come è necessario, ma si può essere abbastanza sofisticato su quello che fai e soprattutto come hai accesso a un sacco di informazioni sull'utente attraverso la possibilità di impostare vars sulla stringa $_GET
.
Un esempio più pertinente potrebbe essere:
<img src="http://example.com/pixel.php?userid=98798&campaign=302&last=8">
monitoraggio più che soli $ _GET variabili:
È anche possibile raccogliere molte più informazioni utilizzando PHP, come ad esempio:
// Server variables
$ip = $_SERVER['REMOTE_ADDR'];
$referer = $_SERVER['HTTP_REFERER'];
$useragent = $_SERVER['HTTP_USER_AGENT'];
$browser = get_browser(null, true);
etc...
e quindi inserire in svinatura tabella nel database:
$sql = "INSERT INTO campaign_tracking
('when','campaign','last','ip','useragent')
VALUES
(NOW(),'$campaign','$last','$ip','$useragent')";
Questa è una (la) metodo di base ampiamente utilizzato per il monitoraggio di campagne di email marketing e in particolare in PHP, ma lo stesso metodo è applicabile utilizzando altri/linguaggi e librerie di programmazione di scripting - e per anche altri scopi.
Ulteriori e informazioni utili su GD:
Non hai bisogno di ajax affatto come un'immagine pixel generata in PHP sarebbe solo inclusa e richiesta come immagine nel tuo codice HTML. – nickhar
usa solo il log del server o google analytics. –
@Dagon Questo è per un'applicazione personalizzata che ho bisogno di catturare diverse informazioni per. –