Zitat von
Blue-Fox
Mal ne frage: Seit wan gibt es ne .php datei die ein Bild ist ?
Garnicht. Das hast Du falsch verstanden .
Das Bild wurde base64 encodet, damit es keine Sonderzeichen etc. enthält und in den Quellcode geschrieben werden kann. Durch base64_decode wird dann wieder der Bild-Source ausgegeben. Gibt man nun folgendes an:
Code:
header("content-type: image/gif");
So wird der Browser dazu gezwungen, die Ausgabe der PHP-Datei als GIF-Bild zu behandeln. Ist die Ausgabe nun der Bild-Source, der decodiert wurde und ist das Ursprungsbild auch tatsächlich vom Typ gif, so wird das Bild tatsächlich angezeigt .
Gif ist natürlich nur ein Beispiel, geht auch mit jpg, png etc. Wichtig ist nur, dass die Ausgabe auch mit dem angegebenen Typ übereinstimmt. Es gibt ja auch Funktionen, wie image_create, die ein Bild erstellen (innerhalb der PHP-Datei).
Siehe dafür z.B. das hier:
Code:
<?PHP
header('Content-type: image/jpeg');
$image = imagecreate ( 300, 150 );
$farbe_body = imagecolorallocate ( $image, 243, 243, 243 );
$farbe_b = imagecolorallocate ( $image, 10, 36, 106 );
imagestring ( $image, 5,30, 70, 'Free-Hack.com', $farbe_b );
imagejpeg ( $image );
?>
Das ist ein Beispielcode von php.net und nicht von mir . Hab' nur den Text geändert.
Siehe auch PHP.net - Imagefunktionen *klick*
Natürlich kann auch doc, pdf und ähnliches als Content-Type angegeben werden. Und so wird der Browser die Ausgabe auch behandeln.
Bedenke: Die Ausgabe ist nicht gleich dem Script!