Thomas: PHP: Bild anzeigen

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

  1. 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

    --
    # Hier könnte ein Kommentar stehen der zum Code passt
  2. 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

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de