Jak zrobić piksel konwersji / piksel śledzący?

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

Jeden komentarz do “Jak zrobić piksel konwersji / piksel śledzący?”

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.