Главная страница статей --> Хитрости при программировании php, заметки по базам данных

Графический счетчик на Perl

Источник: realcoding.net

Создавая текстовый счетчик, мы ограничены свойствами текста в браузере. Если же Вы хотите чегото из ряда вон выходящего, удовлетворяющего Вашему полету фантазии, то Вам подойдет как раз описываемая тема.

Данный пример демонстрирует работу простого графического счетчика.
Для работы этого счетчика необходимо создать графическое изображение, которое послужит базой для счетчика.

Это изображение надо сохранить под именем counter.png
В скрипте использована библиотека 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>



Похожие статьи:
- Гостевая книга шаг за шагом
- Защита Web-форм от автоматической обработки
- Введите число, изображенное на картинке
- Полная статистика посещений
- Web Основы с LWP
- Ассоциативные массивы в Perl
- Работа с массивами в Perl
- Как оживить Perl/CGI скрипт
- Для создания бегущей строки существуют теги
- JavaScript и объектная модель
- Регистрация сайта в каталогах. Кого выбрать? Обзор сервисов.
- Использование специальных операторов в условиях
- Базы данных на ПК


Оглавление | Обсудить на форуме | Главная страница сайта | Карта сайта |

Контакты
Редакция:
[0.001]