w pliku .htaccess zrób przekierowanie coś na styl jak jest u mnie ale to zależy też od katalogów i inne tam - ogólnie u siebie przekierowuję wszystkie obrazki przez skrypt by zabezpieczyć przed hotlinkowaniem:
[.htaccess jest u mnie w katalogu głównym]
Kod
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule ^(.+\.(?:gif|jpeg|jpe|jpg|png|bmp))$ /ścieżka_katalogu_w_którym_jest_skrypt_php/img_buforuj.php?co=$1 [L]
i teraz w tym parametrze $_GET['co'] masz ścieżkę do obrazka i robisz swoje w swoim skrypcie - jak już w nim zliczanie rozwiążesz a na to jest multum sposobów to już zależy od Ciebie - ale raczej polecałbym tutaj raczej sprawdzenie referera - choć jak ktoś umie się logować na innych stronach to i specjalnym skryptem sobie nabije wejścia ale to już inna bajka - wszystkiego się zabezpieczyć się nie da...
no oczywiście aby skrypt wyświetlił poprawnie obrazek to trzeba wysłać nagłówek - akurat jako, że u mnie jest kilka typów plików graficznych (regułę sobie przerób - ja tylko podaję kierunek) to na nagłówek mam taką regułkę:
<?php
?>
jako, że obrazka nie musisz ładować do programu graficznego to poprostu wywołaj go przy pomocy:
readfile($file);
oczywiście wysyłąjąc nagłówki nic wcześniej nie możesz wysłąć - więc nie może też plik mieć BOM - no i po wysłaniu obrazka tez nic nie powinieneś wysyłać więc dla pewności można przerwać skrypt po prostu exit; - ale to takie oczywistości...
wcześniej w dowolnym miejscu skryptu sobie zliczasz ilość wyświetleń i wykonujesz dowolne operacje - ja np. jeszcze wysyłam dodatkowy parametr nagłówka który jest nie potrzebny ale w jednym z mechanizmów mi jest potrzebny:
header('ETag: '.$etag);
no i jeszcze po drodze jest też mały u mnie mechanizm przed prostym hotlinkowaniem - obrazek się wyświetli ale inny niż powinien