PHP - przykładowe skrypty
Do stworzenia licznika graficznego potrzebujemy pliku ze
skryptem licznik.php3, dokumentu html zawierającego url do
skryptu z licznikiem, pliku textowego licznik.txt i 10 obrazków
z cyframi. Nasz licznik będzie posiadał 7 miejsc na cyfry.
###LICZNIK.PHP3###
<?
$plik=fopen("licznik.txt","r+");
flock($plik,2);
$linia=fgets($plik, 7); //pobieramy liczbę z pliku i dodajemy do
niej 1
$liczba=$linia + 1;
fseek($plik, 0); //idź do początkowego miejsca w pliku
fwrite($plik,$liczba); //zapisz liczbę
fseek($plik, 0); //idź do początkowego miejsca w pliku
$licz=array(); /*tworzymy nową tablicę w której skrypt będzie
przechowywać cyfry liczby z pliku*/
$znak="";
$i=0;
$juz=0;
define("zw","25"); /* definiujemy stałą zw
o wartości 25, czyli o wysokości i szerokości naszych
obrazków z cyferkami */
do {
$znak=fgetc($plik); /*umieszczamy poszczególne cyfry w tablicy*/
$licz[$i]=$znak;
++$i;
} while(!feof($plik));
$il=$i;
Header("Content-type: image/png"); /* nagłówek
informujący interpreter i przeglądarkę, że skrypt jest w
postaci graficznej (potrzebna biblioteka GD) */
$licznik=ImageCreate(7*zw,zw); /* tworzymy nowy rysunek: licznik
o wysokości równej stałej zw i szerokości 7x zw */
$tlo = ImageColorAllocate($licznik, 0x00,0x00,0x00); /* robimy
tło dla obrazka (w zasadzie niepotrzebnie...) */
$obrazek=array();
for($j=0;$j<=9;$j++) {
$obrazek[$j]=ImageCreateFromPNG("img/".$j.".png");
/* w kolejnych elementach tablicy obrazek umieszczamy rysunki z
cyframi */
}
$i=0;
for($i=0;$i<=7-$il;$i++) {
ImageCopyResized($licznik, $obrazek[0], $juz, 0, 0, 0, zw, zw,
zw, zw); /* umieszamy zera przed liczbą, tak by cała liczba
składała się z 7 cyfr */
$juz+=zw;
}
$i=0;
for($i=0;$i<=$il-1;$i++) {
ImageCopyResized($licznik, $obrazek[$licz[$i]], $juz, 0, 0, 0,
zw, zw, zw, zw); /* umieszczamy cyfry liczby z pliku licznik.txt
*/
$juz+=zw;
}
ImagePNG($licznik); //wyświetlamy nasz rysunek
ImageDestroy($licznik); //usuwamy rysunek
flock($plik,3);
fclose($plik);
?>
###LICZNIK.HTM###
<html>
<head><title>licznik</title></head>
<body>
<img src="licznik.php3">
</body>
</html>
|