Hans: Bilderzeugung lässt sich nicht richtig speichern

Hi,

wenn ich mit PHP ein Bild erzeuge und es dann direkt im Browser ausgeben lasse, also mit z.b."Header("Content-type: image/gif");" dann lässt sich das auch problemlos abspeichern.

Wenn ich allerdings das Bild in einem <img> Tag ausgeben lassen wie z.b. <img src="bildausgabe.php?fl=xy&size=5" />, dann erhalte ich zwar das Bild auf dem Bildschirm und auch die Speicheroption, allerdings speichert er das Bild dann ohne die Endung/Type ab.

Ist das normal oder mache ich etwas falsch?

Hans

  1. Hallo,

    Wenn ich allerdings das Bild in einem <img> Tag ausgeben lassen wie z.b. <img src="bildausgabe.php?fl=xy&size=5" />, dann erhalte ich zwar das Bild auf dem Bildschirm und auch die Speicheroption, allerdings speichert er das Bild dann ohne die Endung/Type ab.

    Ist das normal oder mache ich etwas falsch?

    Du meinst, er speichert als "bildausgabe.gif" ?
    Das ist normal...

    MfG

    1. Hi,

      Ist das normal oder mache ich etwas falsch?
      Du meinst, er speichert als "bildausgabe.gif" ?
      Das ist normal...

      Nein er speicher es als bildausgabe ohne dateityp.

      Hans

  2. Hallo

    habe mal in der Dokumentation nachgeschaut und denke ich etwas gefunden.
    Kling ganz plausibel habe es aber nicht getestet.

    Gebe das Bild in deiner Bildausgabe zusätzlich mit dem Header:
    header('Content-Disposition: inline; filename="bild.gif"');
    aus. Inline bewirkt, dass es direkt im body angezeigt wird und über Filename kannst du bestimmen wie es heißen soll!

    Gruß
    Alex

    1. Hi,

      Gebe das Bild in deiner Bildausgabe zusätzlich mit dem Header:
      header('Content-Disposition: inline; filename="bild.gif"');
      aus. Inline bewirkt, dass es direkt im body angezeigt wird und über Filename kannst du bestimmen wie es heißen soll!

      Klappt gut, aber leider nur wieder bei der direktausgabe nicht im <img> Tag.

      Hans

      1. Hi,

        habe es gerade bei mir getestet.
        Es klappt ohne Probleme (Ging übrigens vorher schon, nur da mit dem Dateinamen des PHP-Erstellungs-Skripts aber trotzdem mit der richtigen Endung .PNG)

        Jetzt mit dem neuen zusätzlichen Header heißt es "captcha.png";

          
          // Image ausgeben...  
          header ("Content-type: image/png");  
          header('Content-Disposition: inline; filename="captcha.png"');  
          ImagePNG($p);  
        
        

        so sieht es bei mir aus.

        Gruß
        Alex

        PS: Vielleicht verstehe ich auch deine Frage nicht ganz aber ich denke wohl, dass es das ist, was du meinst.