Графический счетчик создается с помощью библиотеки GD.
Код | #!/usr/bin/perl use GD;
$dat_file="counter.dat"; # Файл счетчика $log_file="counter.log"; # Файл списка IP
# Открывем файл счетчика и считываем текущий счет # в переменную $count open(DAT,"$dat_file"); $count=<DAT>; close(DAT); chop($count) if $count =~ / $/; # Удаляем символ конца строки
$count++; # Увеличиваем счетчик
# Записываем данные обратно в файл open(DAT,">$dat_file"); print DAT ("$count"); close(DAT);
# Создаем новое изображение из файла $im = newFromPng GD::Image('counter.png'); # Назначаем черный цвет $black = $im->colorAllocate(0,0,0); # Выводим счет на изображение $im->string(gdTinyFont,5,20,"$count",$black);
# Выводим изображение в стандартный поток вывода binmode STDOUT; print "Content-Type: image/png "; print $im->png;
# Записываем IP посетителя open(LOGFILE,">>$log_file");
print LOGFILE ("$ENV{'REMOTE_ADDR'} ");
close(LOGFILE);
|
Для работы этого скрипта необходимо создать два файла, для ведения счета и для списка IP. В файле счета необходимо установить начальное значение счетчика, сделать это можно в любом текстовом редакторе. Для вывода счетчика в html используйте: <IMG SRC="cgi-bin/counter.cgi" WIDTH="88" HEIGHT="31" BORDER=0> |