Dirk: Grafik: Wo liegt der Fehler

Hallo zusammen,

ich habe ein Problem beim Erstellen einer Grafi. Hier der Quelltext:

<?php
session_start();
if (Abfrage)
   {
   header('Location: /pfad/index.html');
   exit();
   }

header("Content-type: image/png");
$dateineu = mktime(0, 0, 0, $datumm, $datumt, $datumj).'.png';

$bild = imagecreate(250,30);
imageInterlace($bild, 1);
$weiss = imageColorAllocate($bild, 255,255,255);
$blau = imageColorAllocate($bild, 13,13,47);

imagefill($bild, 0, 0, $blau);

$dateitag = "absoluterpfad".$datumt.".png";
$dateimonat = "absoluterpfad".$datumm.".png";
$dateijahr = "absoluterpfad".$datumj.".png";

$grosstag = imagecreatefrompng($dateitag);
$kleinmonat = imagecreatefrompng($dateimonat);
$kleinjahr = imagecreatefrompng($dateijahr);

ImageCopy($bild, $grosstag,0,1,0,0,36,25);
ImageCopy($bild, $kleinmonat,44,1,0,0,13,9);
ImageCopy($bild, $kleinjahr,44,17,0,0,13,9);

$ortszeile = $halle.", ".$ort;
imagettftext($bild, 9, 0, 75, 10, $weiss, "absoluterpfad/arialbd.ttf", $name);
imagettftext($bild, 9, 0, 75, 26, $weiss, "absoluterpfad/arialbd.ttf", $ortszeile);
imagetruecolortopalette ($bild, 0, 2);
//imagepng($bild);

imagepng($bild, "absoluterpfad/".$dateineu);
imagedestroy($bild);

session_register("datei");
session_register("name");
session_register("halle");
session_register("ort");
session_register("datumt");
session_register("datumm");
session_register("datumj");*/

header('Location: absoluterpfad/termine3.php');
exit();
?>

Nun, wenn ich imagepng($bild) benutze und das Bild direkt an den Browser schicke, wird es ordnungsgemäß dargestellt. Kommentiere ich diese Zeile aber aus (so wie hier) und versuche, das ganze als Datei zu speichern, kommt die Fehlermeldung, daß das Bild fehlerhaft ist. (Im Mozialla Browser) Die Weiterleitung greift in diesem Fall auch nicht. Ich hab schon alles auskommentiert um zu sehen, wo der Fehler ist, aber ich find nur die Ursache, daß ich es als Datei speichern will. Bin echt verzweifelt, kann mir jemand helfen?

Nen schönen Abend noch,
Gruß, Dirk

  1. Hi,

    Hallo zusammen,

    ich habe ein Problem beim Erstellen einer Grafi. Hier der Quelltext:

    header('Location: /pfad/index.html');

    Meinst Du dieses Problem mit der unzulässigen relativen Url?

    header('Location: absoluterpfad/termine3.php');

    oder dieses Problem mit der unzulässigen relativen URL?

    Nun, wenn ich imagepng($bild) benutze und das Bild direkt an den Browser schicke, wird es ordnungsgemäß dargestellt. Kommentiere ich diese Zeile aber aus (so wie hier) und versuche, das ganze als Datei zu speichern, kommt die Fehlermeldung, daß das Bild fehlerhaft ist.

    Wundert Dich das, wenn Du zuerst sagst, daß ein Bild kommt (header("Content-type: image/png");), und dann aber was anderes als ein Bild ausgibst?

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    1. Hallo Andreas,

      danke für Deine Antwort. Hmm, eine ähnliche Diskussion habe ich hier schon vor ein paar Tagen geführt. Da wurde mir gesagt, daß ich mit so einer Weiterleitung das Problem von 2 Headern umgehen kann. Ich hab jetzt die Weiterleitung rausgenommen, ebenso die Abfrage ganz oben. Somit ist nur noch der Bildheader in der Datei. Das Problem bleibt aber das selbe. Vielleicht gibt es noch anzumerken, daß die Datei, die ich ja in einem Verzeichnis speichern will, nicht erzeugt wird, aus welchen Gründen auch immer. Und um Dich vollends zu verwirren. Ich habe ein ähnliches Skript, das nach dem selben Schema funktioniert. Mir Weiterleitung oben in der Abfrage und anschließender Weiterleitung nach Bilderzeugung. Klappt problemlos! (Deswegen bin ich ja so verzweifelt, weil ich nicht weiß, was nur hier schiefläuft...)

      Gruß, Dirk