|
Jak działa licznik kliknięć
Licznik kliknięć to nic innego jak zwykły licznik, tyle że wywołany
poprzez kliknięcie. Przykład poniżej ilustruje przykładowy licznik kliknięć
dla plików.
Dla tego przykładu zakładamy plik dn.php3 w którym umieszczamy poniższy
kod, plik readme.txt oraz katalog "liczniki" (o przywilejach 777)
Ponadto na testowej stronie umieszczamy następujący link:
<a href=dn.php3?dn=readme.txt>czytaj
to</a>
<?
$download = "$dn"; //zmienna zawierająca nazwę pliku
if (file_exists("liczniki/$dn.n")){ //sprawdzamy czy plik istnieje
//początek licznika
$file=fopen("liczniki/$dn.n", "r");//jeśli tak otwieramy
licznik i doliczamy kliknięcie
flock($file, 1);
$cyfra=fgets($file, 100);
flock($file, 3);
fclose($file);
$cyfra++;
$file=fopen("liczniki/$dn.n", "w");
flock($file, 2);
fwrite($file, $cyfra);
flock($file, 3);
fclose($file);
//koniec licznika
header("Location: $download");//wysłanie do przeglądarki informacji
o lokalizacji pliku
}
else { //jeśli plik licznika nie istnieje zostanie założony z liczbą 1
$file=fopen("liczniki/$dn.n", "w");
flock($file, 2);
fwrite($file, "1");
flock($file, 3);
fclose($file);
header("Location: $download");//wysłanie do przeglądarki informacji
o lokalizacji pliku
}
?>
Pozostaje już tylko wyświetlenie zawartości pliku licznika
możemy to zrobić choćby tak:
Ten plik pobrano: <?
include("liczniki/readme.txt.n");
?> razy.
Powyższy przykład pokazuje tylko ogólną zasadę działania, klikomierz można
oczywiście rozbudować o zbiorcze wyświetlanie ilości kliknięć, sortowanie
według ilości pobrań itd, itd...
dodał: Rip
|