Mastershrimp: IE speichert Bilder nur als BMP

Beitrag lesen

Habe das mit dem Content-Length-Header hingekriegt. Eben kam zumindestens eine Fehlermeldung, die jetzt (nach Umstellen der Reihenfolge) nicht mehr kommt.

Allerdings will er immer noch das BMP-Format! Er scheint den Content-Disposition-Header komplett zu ignorieren...Auch der Dateiname wird nicht übernommen.

Hier der aktuelle Ausgabe-Teil des Scripts:

====================
<?php
ob_start();

/* Beim Lesen des folgenden Codes beginnt man am besten mit dem else{}-Bereich! */

if($_GET['action']=="ausgabe")          //Wenn Param. ausgabe gesetzt ist, liefert Script den Inhalt des Bildes für den IMG-Tag unten
 {
  session_start();
  $datei   = $_SESSION['datei_inhalt']; //Enthält den Dateiinhalt der hochgeladenen Datei

$width   = $_SESSION['new_w'];   //Breite des endgültigen Bildes in px
  $height  = $_SESSION['new_h'];   //Höhe des endgültigen Bildes in px
  $bild_w  = $_SESSION['old_w'];   //Breite des Originalbildes
  $bild_h  = $_SESSION['old_h'];   //Höhe des Originalbildes
  $quali   = $_SESSION['quali'];   //Qualität der Komprimierung zwischen 1 und 100
  $content = $_SESSION['content']; //Art der Bilddatei

$quell_datei = imagecreatefromstring($datei); //Erstellt eine Bild-Datei aus dem Dateiinhalt der temporären Datei
  $ziel_datei  = imagecreatetruecolor($width,$height);

$resize_datei = imagecopyresampled($ziel_datei,$quell_datei,0,0,0,0,$width,$height,$bild_w,$bild_h); //Bildgröße anpassen

$interlace    = imageInterlace($ziel_datei,1); //Interlacing-Funktion: 0 = aus; 1 = an

header($content);            //Ausgabe des Bildes, welches dann per IMG-Tag (s.u.) angezeigt wird
  header("Content-Disposition: attachment; filename=ausgabe.jpg");

if(strpos($content,"jpeg") && function_exists(imagejpeg))
   { $ausgabe = imagejpeg($ziel_datei,"",$quali); }

elseif(strpos($content,"gif") && function_exists(imagegif))
   { $ausgabe = imagegif($ziel_datei); }

elseif(strpos($content,"png") && function_exists(imagepng))
   { $ausgabe = imagepng($ziel_datei); }

else
   { $ausgabe = imagejpeg($ziel_datei); }

$size=ob_get_length();
  header("Content-Length: $size");

ob_end_flush();
  session_unset();
 }

else
 { // Rest des Scripts...
 }

==================

Habe ich einen Fehler gemacht? Woran liegt es, dass der Header ignoriert wird?

Danke für eure Hilfe!

Gruß

Mastershrimp

--
Kämpft für die Rettung von dem Genitiv!