Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#10

Re: [PHP]Bild dynamisch erzeugen

  Alt 25. Nov 2004, 18:30
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/...)
  Mit Zitat antworten Zitat