Potrzebujemy hostingu z serwerem Apache (na innych mogą być potrzebne zmiany dot. pliku .htaccess) i PHP. PHP powinien mieć dostępną bibliotekę GD. Dodatkowo musimy móc korzystać z mod_rewrite.
1.Przygotowujemy obrazek wielkości 1x1px o nazwie 1.jpg.
2.Tworzymy katalog na serwerze i umieszczamy tam obrazek oraz następujące pliki:
-.htaccess – za pomoca mod_rewrite ukryje za wywołaniem obrazka image.jpg nasz kod w pliku index.php, opcjonalnie przekazując parametr w postaci liczby, np. image20.jpg wywoła nam skrypt index.php?i=20
RewriteEngine On RewriteBase /t RewriteRule ^image([0-9]+).jpg$ index.php?i=$1 [L] RewriteRule ^image.jpg$ index.php [L]
-index.php – kod odpowiedzialny za odebranie i zapisanie do pliku statystyki.csv danych uzyskanych przez serwer dot. użytkownika, a następnie wysłaniu obrazka jpg.
//Data, id usera, IP, REFERER, user agent,host,remote_host
//';'.$_SERVER['REMOTE_HOST'].
$zapis = date('d.m.y H:i:s').';'.$_GET['i'].';'.$_SERVER['REMOTE_ADDR'].';'.$_SERVER['HTTP_REFERER'].';"'.$_SERVER['HTTP_USER_AGENT'].'";'.$_SERVER['HTTP_HOST'].';'.$_SERVER['REMOTE_HOST']."\n";
$plik = fopen("statystyki.csv","a");
fputs($plik, $zapis);
fclose($plik);
$image = imagecreatefromjpeg('1.jpg');
header('Content-Type: image/jpeg');
imagejpeg($image, null, 100);
?>
Umieszczamy także pusty plik tekstowy o nazwie statystyki.csv, z uprawnieniami do zapisu. W terminalu linuksowym wyglądałoby to tak:
touch statystyki.csv && chmod 777 statystyki.csv
Dodatkowo dla wygody przeglądania zapisów wejść można wrzucić taki skrypt:
<!doctype html>
<html lang="pl">
<head>
<meta charset="UTF-8">
<title>Podgląd statystyk wejścia</title>
<style style="text/css">
.hoverTable{
width:100%;
border-collapse:collapse;
}
.hoverTable td{
padding:7px; border:#4e95f4 1px solid;
}
/* Define the default color for all the table rows */
.hoverTable tr{
background: #b8d1f3;
}
/* Define the hover highlight color for the table row */
.hoverTable tr:hover {
background-color: #ffff99;
}
</style>
</head>
<body>
<a href="statystyki.csv">Pobierz plik CSV</a>
<?php
echo "<table class=\"hoverTable\">\n\n";
$f = fopen("statystyki.csv", "r");
while (($line = fgetcsv($f,0,";")) !== false) {
echo "<tr>";
foreach ($line as $cell) {
echo "<td>" . htmlspecialchars($cell) . "</td>";
}
echo "</tr>\n";
}
fclose($f);
echo "\n</table>";?>
</body>
</html>
Całość w paczce zip można pobrać tutaj: piksel_konwersji.zip
A czy jest jakaś appka do wygenerowania do kodu html pixela śledzącego?