Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]jak zliczać wyświetlenia
Forum PHP.pl > Forum > Przedszkole
gron
Witam,
myślę o zrobieniu prostego rankingu, coś na kształt - http://www.aardvarktopsitesphp.com/
potrzebuję po prostu zmienić kilka rzeczy
Problem nad jakim się zastanawiam to w jaki sposób mogę zliczać wyświetlenia banera na innych stronach?
Spawnm
zamiast obrazka .jpg dawaj pliczek php do src, w pliczku oprócz wyświetlenia obrazka zapisuj adres czy coś.
ew. javascript/ajax i zwykły pliczek na czyjejś stronie.
Wicepsik
  1. <img src="http://twojastrona.pl/banner.php?id=jakasstrona">



Razem z tym id gdy wyświetlasz obrazek dajesz zapytanie np. do bazy i dodajesz wyświetlenie +1.
zegarek84
to "jakaś_strona" to przecież może sprawdzić w referer co spowodowało wyświetlenie danego obrazka - a i trochu normalniej wygląda jeśli adres obrazka wygląda jakby był to obrazek a nie plik php - zawsze może zrobić przekierowanie w htaccess...
gron
właśnie w tym systemie, który podałem partnerzy wstawiają tylko obrazek.gif i system jakoś to zlicza dlatego się zastanawiałem
zegarek84
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ę:
  1. <?php
  2. header("Content-type: " . image_type_to_mime_type(exif_imagetype($file)));
  3. ?>

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 winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.