PROGRAMMING

Prosty licznik kliknięć w PHP

#php

Wstęp.

Właśnie postanowiłem dodać do mojej strony licznik kliknięć ;-) Nie jest on rewelacyjny ale podziele się nim, może się komuś przyda ;-> Hm, jak tak pomyśleć, to licznik ten nie pokazuje ilości kliknięć w link, ale ilość wyświetleń danej strony… Chociaż w moim przypadku to nie ma różnicy, ponieważ linki odnoszą się do artykułów.

Kod

<?php

/*----------------------------------------------------------------------------
                         Licznik kliknięć autorstwa eshlox'a
Poniżej znajduje się kod licznika jak się można domyśleć ;-D Aby użyć licznika
includujemy go na stronę, której odczytywania ma zliczać. Zmieniamy oczywiście
ścieżki w kodzie do swoich potrzeb. Licznik można dowolnie modyfikować.
Pamiętaj, że katalog, w którym będą zapisywane kliknięcia musi mieć
ustawione prawa na 777 ;-)
Poniżej dodałem komentarze w linijkach, w których można coś zmienić.
----------------------------------------------------------------------------*/

$coto = $_SERVER["PHP_SELF"];
$coto = basename($coto);
$coto = substr($coto, 0, strpos($coto, "."));
$rozszerzenie = ".dat"; // Tutaj można zmienić rozszerzenie plików, w których zapisywana będzie ilość kliknięć.
$plik = $coto.$rozszerzenie;

if($coto != "licznik")
{
	if(file_exists("../licznik/$plik")) // Tutaj ustaw dokładną ścieżkę, gdzie mają się zapisywać pliki.
	{
		$file = fopen("../licznik/$plik", "r"); // Tutaj to samo co wyżej.
		flock($file, 1);
		$cyfra = fgets($file, 100);
		flock($file, 3);
		fclose($file);
		$cyfra++;
		$file = fopen("../licznik/$plik", "w"); // W tym miejscu identycznie to co wyżej.
		flock($file, 2);
		fwrite($file, $cyfra);
		flock($file, 3);
		fclose($file);
	}
	else
	{
		$file = fopen("../licznik/$plik", "w"); // I znowu tą samą ścieżkę ;-D
		flock($file, 2);
		fwrite($file, "1");
		flock($file, 3);
		fclose($file);
	}

	if($cyfra == NULL)
	{
		echo("Czytano razy: 1.
		");
	}
	else
	{
		echo("Czytano razy: $cyfra.
		");
	}
}
else
{
	if($coto == "licznik")
	{
		echo("Do tego elementu nie jest potrzebny licznik!
		");
	}
}

/*----------------------------------------------------------------------------
Skrypt jest darmowy i można go zmieniać według własnych potrzeb. Jedyne
co bym chciał w zamian to jakaś mała reklama mojej strony w postaci
linku lub bannera ;-) Ot taki dobry gest [-; Ale nie jest to obowiązkowe,
nikogo nie zmuszam.
                                                              Pozdrawiam.
----------------------------------------------------------------------------*/

?>

Instalacja.

Licznik ten includujemy na stronie, której ma być zliczana ilość odwiedzin. Skrypt odczytuje ścieżkę strony i oddziela nazwę pliku. Gdy ktoś wchodzi na stronę pierwszy raz licznik pokazuje 1 i zapisuje dane w pliku o nazwie nazwa_pliku.dat. Oczywiście w skrypcie trzeba zmienić ścieżki do katalogu gdzie mają być zapisywane pliki. Katalog ten powinien mieć ustawione prawa dostępu na 777. Z następnymi wejściami suma zwiększa się oczywiście o 1. Licznik nie jest odporny na odświeżanie itp. Zlicza wszystkie wejścia. To na tyle. Więcej opisu w kodzie.