[PHP] Jak zrobić tekstowy i graficzny licznik odwiedzin z własnym wzorem cyfr?
Chcesz stworzyć tekstowy lub graficzny licznik odwiedzin, ale projekt cyfr chcesz mieć własny, niepowtarzalny. Licznik ma działać również bez korzystania z graficznej biblioteki GD. Wielkości liter i ich kształt mają zależeć tylko od Ciebie.
Licznik może wydawać się skomplikowany, a tymczasem to tylko kilka linijek w PHP plus wcześniej przygotowana grafika dla cyfr. O grafikę się nie martw, przykładowe cyfry graficzne możesz pobrać z naszej strony. Oto gotowy kod programu, a poniżej znajdziesz plik z cyframi:
<?
$f = "licznik.txt";
$file = fopen($f,"a");
fputs($file, ".");
fclose($file);
$li = filesize($f);
$ile=strlen($li);
for ($i=0;$i<$ile;$i++) {
echo "<img src=\"".substr($li,$i,1).".gif\">";
}
?>
Przykład działania (czas w sekundach zamiast odsłon):
Najpierw tworzymy licznik wejść. Najłatwiejszym i najmniej zawodnym sposobem jest zliczanie kropek w pliku, do którego są one dopisywane za każdym razem gdy licznik jest zwiększany o 1.
Aby go uruchomić wystarczy utworzyć pusty plik "licznik.txt" i nadać mu prawa do zapisu dla każdej osoby (chmod 666). Ścieżka może być oczywiście inna, podawana bezwzględnie, np. /home/sites/strona/licznik.txt
Zasada działania licznika jest banalna. Za każdym razem gdy strona zostaje odczytana, do pliku licznik.txt dopisywana jest kropka. Funkcja filesize() pobiera wielkość pliku (czyli w naszym wypadku liczbę kropek).
W tym momencie możesz wypisać zawartość licznika na stronę za pomocą polecenia echo $li; i już masz działający licznik tekstowy. Tak skonstruowany licznik jest wyśmienity i nie ma możliwości przypadkowego wykasowania go, bo kropki są dopisywane, a nie nadpisywane.
Bardzo łatwo można też manipulować wielkością początkową - wystarczy samemu dopisać do pliku np. 500 kropek, aby licznik zaczął liczyć od 500. Można też zrobić inaczej, wprowadzić jeszcze jedną zmienną przechowującą wartość początkową, np. $start=500;. Licznik może wtedy pokazywać wartość filesize($sc)+$start.
Teraz należy wartość licznika zamienić na jego graficzną reprezentację. Pobieramy więc aktualny numer i w pętli umieszczamy gifa o nazwie zgodnym z numerem cyfry. I gotowe...
Pliki z liczbami 1.gif, 2.gif... aż do 0.gif projektujemy dowolnym programem graficznym. Każda cyfra może być inna.
Przykład licznika wykonanego w ten sposób jest praktyczny - można go użyć bez potrzeby korzystania z biblioteki graficznej GD, gdzie cyfry można co prawda łączyć w jeden plik gif, ale w wypadku skomplikowanych cyfr jest to trudne. Nie każda instalacja PHP pozwala też na stosowanie biblioteki graficznej.