Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]jak zliczać wyświetlenia, prosty ranking stron
gron
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 27.04.2005

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Spawnm
post
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




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.
Go to the top of the page
+Quote Post
Wicepsik
post
Post #3





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


  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.

Ten post edytował Wicepsik 28.06.2009, 14:33:41
Go to the top of the page
+Quote Post
zegarek84
post
Post #4





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


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...
Go to the top of the page
+Quote Post
gron
post
Post #5





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 27.04.2005

Ostrzeżenie: (0%)
-----


właśnie w tym systemie, który podałem partnerzy wstawiają tylko obrazek.gif i system jakoś to zlicza dlatego się zastanawiałem
Go to the top of the page
+Quote Post
zegarek84
post
Post #6





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował zegarek84 28.06.2009, 16:18:31
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 14:20