hi!
statt rouierende grafische Banner möchte ich verschiedene Textbanner per CGI und per
Zufallsauswahl auf folgender Site einbinden lassen: http://webgrafiker.de/gt/
Es handelt sich um die Textanzeigen unten und oben, die in Tabellen stehen und sozusagen
meine Art der Banner sind (sie sind universal einsetzbar und stoeren den grafischen Stil
einer Site nur wenig, sie lassen sich zudem leicht aendern und sind keineswegs
aufdringlich).
Gibt es fuer so etwas ein freies Script? Auf was muss ich achten?
Ich schätze, du willst oben und unten jeweils das gleiche Textbanner stehen haben. Das dürfte wohl das größte Problem sein. Ich würde für so ein Vorhaben kein Perl, sondern PHP3 verwenden.
Wenn du nur Perl verwenden kannst, wäre es wohl am einfachsten, ein Skript zu schreiben, das den ganzen rechten Frame anzeigt:
=== cut ===
#!/usr/bin/perl
%p = getParam;
$page = $p{'page'};
print "Content-type: text/html\n\n";
Datei mit den Bannern auslesen (ein Banner pro Zeile)
open FILE, "<ads.txt";
@ads = <FILE>;
close FILE;
zufälliges Banner auswählen
$banner = $ads[rand @ads];
Oberes Banner anzeigen
print "$banner\n";
print "---trennzeile---";
Anzeige der eigentlichen Seite
open FILE, "<$page";
for (<FILE>)
{
print;
}
close FILE;
Unteres Banner anzeigen
print "---trennzeile---";
print "$banner\n";
sub getParam
{
if ($ENV{'REQUEST_METHOD'} eq "GET")
{
$EnvDaten = $ENV{'QUERY_STRING'};
} else {
read STDIN, $EnvDaten, $ENV{'CONTENT_LENGTH'};
}
for (split /&/, $EnvDaten)
{
my ($key, $value) = split /=/;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9]{2})/pack("C", hex($1))/eg;
$value =~ s/</</g;
$value =~ s/>/>/g;
$p{$key} = $value;
}
return %p;
}
=== cut ===
Du legst das Skript ins cgi-bin-Verzeichnis. Aufgerufen wird es folgendermaßen aus dem linken Frame:
<a href="cgi-bin/script.pl?page=datei.html" target="rechter_frame">linktext/-bild</a>
Wobei datei.html der Dateiname der Seite ist, die eigentlich angezeigt werden sollte.
Achtung: datei.html muss der Dateiname der eigentlichen Datei relativ zum cgi-bin-Verzeichnis sein oder eine absolute Pfadangabe auf der Platte des Servers, nicht im Baum des http-Servers.
Dann muss du noch eine Datei ads.txt im cgi-bin-Verzeichnis anlegen, in die du deine ganzen Textbanner schreibst, und zwar immer ein Banner pro Zeile. HTML kannst du darin natürlich auch verwenden.
Ist zwar nicht sonderlich gut getestet, aber ich hoffe, es funktioniert. Ein wenig Perl wirst du wohl auch an deine eigenen Bedürfnisse anpassen können :-)
bye, Frank!