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!