Lars: Dynamische Grafiken lassen sich nicht ausführen!

Hallo!

Wenn ich eine Grafik mit einem PHP-Script kreiere, das Script auf den Server hochlade und dann ausführen will, so zeigt er mir nicht das Bild an, sondern er fragt mich ob ich die PHP-Datei speichern bzw. öffnen will... Andere PHP-Scripte oder dynamische Bildelemente lassen sich jedoch einwandfrei ausführen..
Was mache ich falsch?

Danke für die Hilfe, Lars

  1. Hallo,

    Wenn ich eine Grafik mit einem PHP-Script kreiere,[...] so zeigt er mir nicht das Bild an, sondern er fragt mich ob ich die PHP-Datei speichern bzw. öffnen will...
    Was mache ich falsch?

    Mit welchem Mime-Type lieferst du das Bild aus?
    Kannst du einen Link zu einem Beispiel posten?

    Gruß
    Alexander Brock

    --
    SelfCode: ie:{ fl:{ br:> va:) ls:# fo:) rl:( n4:( ss:| de:> js:( ch:| sh:( mo:) zu:}
    http://againsttcpa.com
    1. Mit welchem Mime-Type lieferst du das Bild aus?

      Das Bild wird im JPEG-Format ausgegeben! Der Link zu dem Beispiel: http://www.tsv-speyer.de/titelnav/test2.php4

      Das Script sieht wie folgt aus:

      $src_file = "../bilder/start_beach.jpg";
      $max_px = 85;

      $image_src = imageCreateFromJPEG($src_file);

      $src_w = imagesx($image_src);
      $src_h = imagesy($image_src);

      $dst_h = $max_px;
      $dst_w = ($src_w * $max_px) / $src_h;

      $image_dst = imageCreateTrueColor($dst_w, $dst_h);
      imageCopyResized($image_dst,$image_src,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
      header('Content-Type: image/jpg');
      imageJPEG($image_dst);
      imageDestroy($image_dst);
      imageDestroy($image_src);

      Kannst du einen Link zu einem Beispiel posten?

      1. Hi,

        header('Content-Type: image/jpg');

        Mmh... "image/jpg" oder doch besser "image/jpeg"? ;-)

        so short

        Christoph Zurnieden

      2. Hallo,

        Das Bild wird im JPEG-Format ausgegeben! Der Link zu dem Beispiel: http://www.tsv-speyer.de/titelnav/test2.php4

        Ich wollte die URL des Bildes, nicht die irgendeines Framesets!
        http://www.fischermen.de/TSV/titelnav/test2.php4

        header('Content-Type: image/jpg');

        Ich kann da keinen Fehler erkennen, das Problem liegt nämlich beim IE.
        Im Mozilla Firefox wird das Bild ganz normal angezeigt, der IE
        glaubt aber, an der Endung .php4 irgendetwas erkennen zu können
        und weigert sich, den Header zu lesen und festzustellen dass es sich um
        ein Bild im JPEG-Format, und nicht um irgendwas anderes handelt.

        Nutze mod_rewrite, um dem IE die Endung .jpg vorzugaukeln.

        mod_rewrite Manual
        SelfSuche nach mod_rewrite

        Gruß
        Alexander Brock

        --
        SelfCode: ie:{ fl:{ br:> va:) ls:# fo:) rl:( n4:( ss:| de:> js:( ch:| sh:( mo:) zu:}
        http://againsttcpa.com
        1. Hi,

          header('Content-Type: image/jpg');

          Ich kann da keinen Fehler erkennen, das Problem liegt nämlich beim IE.

          Au, verdammt, ja, den hatte ich ganz vergessen.
          Aber bevor da mit mod_rewrite herumgefummelt wird, würde ich da ganz einfach ein bischen HTML drumstricken. Ist zwar lästig, aber deutlcih einfacher, da man doch eher selten Zugriff auf mod_rewrite hat.

          Im Mozilla Firefox wird das Bild ganz normal angezeigt,

          Der Konqueror (3.2.1) beschwert sich übrigens auch.
          Aber "image/jpg" scheint wohl doch korrekt zu sein? Ist das neu? Hinke ich so hinterher? Peinlich, peinlich!
          *öchöt* ;-)

          so short

          Christoph Zurnieden

        2. header('Content-Type: image/jpg');

          »»
          Habe eben das ganze in header('Content-Type:image/jpeg') umgeändert und das akzeptiert der IE einwandfrei :)

          Ich kann da keinen Fehler erkennen, das Problem liegt nämlich beim IE.
          Im Mozilla Firefox wird das Bild ganz normal angezeigt, der IE
          glaubt aber, an der Endung .php4 irgendetwas erkennen zu können
          und weigert sich, den Header zu lesen und festzustellen dass es sich um
          ein Bild im JPEG-Format, und nicht um irgendwas anderes handelt.

          Trotzdem danke für die Hilfe, Lars

          1. Hello,

            header('Content-Type: image/jpg');
            Habe eben das ganze in header('Content-Type:image/jpeg') umgeändert und das akzeptiert der IE einwandfrei :)

            Das ist ja auch richtig.

            Schau mal in RFC 1872 und 1521 und benutze doch auf Linux-Systemen das Proramm file und in PHP die Funktion mime_content_type(), um den richtigen Namen dafür zu ermitteln.

            Harzliche Grüße aus http://www.annerschbarrich.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau