Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2
counter1.pl
#!/usr/local/bin/perl -w
# counter1.pl -- Ein einfacher File::CounterFile-basierter Webcounter.
use strict;
use File::CounterFile;
use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);
use GD;
my $sessionid = $ENV{'PATH_INFO'};
$sessionid =~ s!/!_!g;
my $query = new CGI;
error("Usage: Set PATH_INFO first!") if (!$sessionid);
$File::CounterFile::DEFAULT_DIR = "/tmp"; # Wo die Zaehler hinsollen.
my $c = new File::CounterFile $sessionid, '00000000';
# Hier wird der Zaehler atomar erhoeht.
my $newvalue = ++$c;
output_as_gif($newvalue);
sub output_as_gif {
my $message = shift; # Die auszugebende Nachricht
my ($x,$y) = (length($message) * gdLargeFont->width() + 10,
gdLargeFont->height() + 10);
my $im = new GD::Image($x, $y);
$im->transparent();
$im->interlaced('true');
$im->rectangle(0,0,$x,$y,$im->colorAllocate(0,0,0));
$im->string(gdLargeFont,5,5,
$message,$im->colorAllocate(255,255,255));
my $gif = $im->gif();
# GIF-Bild zum Browser senden:
print
$query->header(-type => 'image/gif', -expires => '-1d'),
$gif;
}
sub error {
my $message = shift;
output_as_gif($message);
exit 0;
}
[Prev] [Up] [Relevant Chapter] [Next]
[Alte Quelle]
| Last modified: $Date: 2006/05/18 12:55:47 $ FH. Search :: Sitemap :: Disclaimer :: Copyright :: Privacy |
|