PHP: Bild anzeigen
Thomas
- php
Hallo,
ich habe ein Script, welches einen Dateinamen auswählt, dass heißt ich habe jetzt einen Dateinamen gegeben.
Jetzt möchte ich beim Öffnen dieser PHP-Seite dieses Bild anzeigen, und zwar so, dass ich die php-Datei in HTML als <img src="bild.php"> schreiben kann.
Prinzipiell muss ich erstmal den Header setzen, um zu sagen, dass es sich nicht um PHP handelt, sondern um ein jpg:
header('Content-Type: image/jpeg');
Welchen Befehl nutze ich dann zum Einfügen der Bilddatei?
Thomas
hi,
Prinzipiell muss ich erstmal den Header setzen, um zu sagen, dass es sich nicht um PHP handelt, sondern um ein jpg:
header('Content-Type: image/jpeg');
Richtig.
Welchen Befehl nutze ich dann zum Einfügen der Bilddatei?
Es sind auf jeden Fall mehrere Befehle, Pseudo-Code:
Dateihandle auf die Bilddatei öffnen
Dateihandle in binmode setzen
STDOUT in binmode setzen
Dateihandle auf STDOUT schicken
Dateihandle schließen
STDOUT schließen
Ab in die Doku ;-)
Hotte
Hello,
Welchen Befehl nutze ich dann zum Einfügen der Bilddatei?
header('Content-Type: image/jpeg');
readfile($filename);
es empfiehlt sich, bei Bildern auch Header zum Cacheing mitzusenden
<?php ### bildausgabe.php ###
$filename = .....
$last_modified = @gmdate('D, d M Y H:i:s',@filemtime($filename)).' GMT';
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))
{
$if_modified_since = preg_replace('/;.*$/', '', $_SERVER['HTTP_IF_MODIFIED_SINCE']);
if ($if_modified_since == $last_modified)
{
header("HTTP/1.0 304 Not Modified");
header("Cache-Control: max-age=86400, must-revalidate"); ## anpassen!
# return true; ## je nachdem, ob Funktion oder
exit; ## alleinstehendes Script
}
}
header('Content-Type: image/jpeg');
header ("Last-Modified: $last_modified");
readfile($filename);
?>
Und den Content-Type kannst Du mit der Funktion getimagesize() bestimmen lassen
http://de2.php.net/manual/en/function.getimagesize.php
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg