Zitat von
Airblader:
[img]...?bild=bla.gif[/img]
dürfte nicht gehen, da es auf eine seite und nicht auf ein bild verweist.
air
Tja, aber woher weis der Browser, dass es eine Seite oder ein Bild ist?
Lass mich raten: einfach so ...
Was passiert eigentlich an dieser Stelle ?
Der Browser findet einen img-Tag.
Der Browser findet das scr="" Attribut, und sendet einen Request, in der Hoffnung, etwas zu bekommen, was sich als Bild darstellen lässt.
Er will also ".../gallery.php?bild=hallo.gif" haben, weil das in dem src-Attribut steht
Das PHP-Script wird aufgerufen, und interpretiert
Der Output des PHP-Scriptes wird an den Browser gesendet.
Der Browser empfängt die Daten und zeigt sie an.
Dumm nur, dass bei PHP-Scripten normalerweise ein Befehl gesendet wird,
der dem Browser sagt, dass das was da jetzt kommt,
HTML-Text ist. (MIME: text/
HTML)
Wir wollen jedoch ein Bild ausgeben. Da das kein
HTML ist, senden wir folgenden Befehl vorweg:
Code:
header ("Content-type: image/png");
Und,
oh Wunder, der Browser versucht das, was bei ihm ankommt, nicht mehr als
HTML zu interpretieren,
sondern, wie in dem Befehl sagt, als Bild. In diesem speziellen Fall wird versucht, die Daten als PNG-Bild zu verarbeiten.
Bei normalen Bilddateien wird dieser sog. Header standartmäßig gesendet, so dass wenn du ein PNG downloadest,
der Server automatisch einen PNG-Bild_Header versendet.
Daher kann man
alles im src-Attribut angeben, es muss jedoch ein entsprechender Bild-Header gesendet werden. (MIME: image/...)