Aufruf über Image-Tag
Jan M.
- perl
Hallo,
ich aktiviere das Script wie folgt:
<A HREF="/cgi-bin/abc.pl"><IMG SRC="/cgi-bin/cba.pl"></A>
Doch was muss ich in das Script schreiben, damit dann auch ein Bild
erscheint?
Ist es irgendwie möglich weiteren HTML-Code zu übermitteln? (Jedoch nicht
über SSI)
=> Und machen die Browser da Unterschiede?
Auf alle Fälle schon einmal vielen Dank (und das Forum hier finde ich super!)
mfG
Jan M.
ich aktiviere das Script wie folgt:
<A HREF="/cgi-bin/abc.pl"><IMG SRC="/cgi-bin/cba.pl"></A>
Doch was muss ich in das Script
Welches der beiden?
schreiben, damit dann auch ein Bild
erscheint?
Falls cba.pl: Ich denke, eine Ausgabe von Daten, die ein Bild darstellen, und zuvor einen HTTP-Header mit einem MIME-Typ, der dem Brower mitteilt, in welchem Format diese Daten zu interpretieren sind.
Ist es irgendwie möglich weiteren HTML-Code zu übermitteln? (Jedoch nicht
über SSI)
?!!? Fragestellung unklar.
=> Und machen die Browser da Unterschiede?
Siehe vorheriger Punkt.
Hallo,
ich möchte ein Bild an der Stelle über das Image-Tag ausgeben, doch das funktioniert irgendwie nicht so richtig.
Ich meinte das Script 'cba.pl' (<A HREF="/cgi-bin/abc.pl"><IMG SRC="/cgi-bin/cba.pl"></A>), sowie du das schon richtig vermutet hast, doch wie müsste das konkret aussehen?
Mit den weiteren HTML-Code meine ich, dass dann dort nicht nur ein Bild erscheint, sondern ich vielleicht auch noch weiteren Text (Links usw.) einfügen kann.
Mit den Browsern meine ich, ob diese den übermittelten Code evtl. unterschiedlich interpretieren und es so zu Fehlern kommt.
Vielen Dank!!! und mfG
Jan M.
Hi,
ich möchte ein Bild an der Stelle über das Image-Tag ausgeben, doch das funktioniert irgendwie nicht so richtig.
print "Content-type: image/gif\n\n";
oder image/png oder image/jpeg oder was auch immer Du für ein Format zurücklieferst. Anschließend die Daten der Grafik (wenn das Script auf einem archaischen System ;-) wie Windows läuft, vorher binmode aktivieren).
Mit den weiteren HTML-Code meine ich, dass dann dort nicht nur ein Bild erscheint, sondern ich vielleicht auch noch weiteren Text (Links usw.) einfügen kann.
Nein, denn der Browser erwartet ja nur eine Grafik.
Mit den Browsern meine ich, ob diese den übermittelten Code evtl. unterschiedlich interpretieren und es so zu Fehlern kommt.
Es kann sein, daß der MSIE die Daten fehlinterpretiert - das Problem hat man aber eigentlich eher, wenn man HTML-Code als text/plain zurückliefert (der besch$&§#$ IE stellt das dann als text/html dar). Ansonsten ist image/gif image/gif.
Bei image/png kann es sein, daß es nicht alle(*) Browser darstellen können, aber dieses Problem betrifft eigentlich eher Programme mit $alter>3*365*24*3600.
Cheatah
(*) Ich meine natürlich nur grafikfähige Browser ;-)
Hallo Cheatah,
noch eine (vielleicht dumme) Frage. Wie muss der Befehl in Perl aussehen, damit das Bild dann auch erscheint? (Bisher habe ich nur die "Einleitung" - print "Content-type: image/gif\n\n";)
Und noch eine, tschuldige, aber muss sein: gibt es auch ein Möglichkeit (außer SSI), womit ich noch einen Text oder so dazu schreiben kann?
Ziel: zufälliges Bild, mit entsprechendem Text dazu.
Jan M.
Und noch eine, tschuldige, aber muss sein: gibt es auch ein Möglichkeit (außer SSI), womit ich noch einen Text oder so dazu schreiben kann?
Ziel: zufälliges Bild, mit entsprechendem Text dazu.
Wenn Du unbedingt Bild und Text brauchst, dann willst Du offensichtlich ein komplettes HTML-Dokument einfügen.
Dafür gibt es nun wiederum verschiedene Möglichkeiten: SSI und Vergleichbares (PHP?) auf dem Server, Frames und Iframes auf dem Client, ...
Hallo Jan,
ich hab mal irgendwann den folgenden Code geschrieben,:
#!/usr/bin/perl
open(COUNTER, "<counter.txt");
while (<COUNTER>){ $Counter = $_; }
close(COUNTER);
#Zählerstand erhöhen
$Counter++;
#und neuen Stand natürlich wieder wegschreiben
open(COUNTER, ">counter.txt");
print COUNTER $Counter;
close(COUNTER);
#Anzahl der vorangehenden Nullen ermitteln (für 4stellige Zähler)
$anz = 4-length($Counter);
$Counter = "0" x $anz .$Counter;
print "Content-type: text/html\n\n"; # kennzeichnet die Ausgabe als HTML-like
for($i = 1;$i <= length($Counter);$i++) # hier gehe ich jede Ziffer durch
{
$ziffer = substr($Counter,$i-1,1); # Ziffer-Wert wird ermittelt
print "<img src="ziffern/z$ziffer.gif">"; # und dann (Deine Antwort, oder?) wird das entsprechende Bild erzeugt.
}
exit;
Weitere Fragen, nicht die richtige Antwort? --> Dann nochmal genauer erklären!
Knud
Hallo Jan,
um das Perl Script Bilder senden zu lassen, gibt es glaubich drei Möglichkeiten.
Ich würde z.B. die dritte Möglichkeit wählen, da ich mich da nicht mit den Daten des Images rumschlagen muß:
#!/usr/bin/perl
print "location: http://host.domain.tld/pfad/image.jpg\n\n"
Aber HTML-Code kannst du dem Browser natürlich nicht in einem <img ...>-Tag unterjubeln.
CYa
GONZO
Danke an Alle, die mir geholfen haben!