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?