echo $begrüßung;
Um das Problem mit dem Header zu umgehen erzeuge ich im Hauptscript das Bild mit Wasserzeichen:
Warum machst du es in einem ganz anderen Request als das Bild dann letztlich vom Client angefragt wird?
$file = $derbg;
Der Sinn der Umkopierung erschließt sich mit nicht. Weder $derbg noch $file ändert seinen Inhalt im weiteren Verlauf (so du ihn hier offengelegt hast). Statt auf $file kann genauso gut auch auf $derbg zugegriffen werden.
$size = getimagesize($file);
Hast du abgesichert, dass $file auf eine von getimagesize verarbeitbare Datei verweist?
$width = $size[0]; $height = $size[1];
wenn dies nicht der Fall ist, gibt getimagesize() kein Array zurück. Ein false hat keine Array-Elemente auf die zugegriffen werden kann. Hier fehlt eine Fallunterscheidung.
$bildname="images/".$anfrage['nr'].".jpg";
imagejpeg($new_picture,$bildname,100);
Du hast nun eine Grafikdatei irgendwo im Dateisystem abgelegt. Das Script ist danach zu Ende (nehm ich mal an), alle Variableninhalte gehen damit verloren.
So sieht das externe Script (imgcr.php) aus:
<?php
header("Content-type: image/jpeg");
imagejpeg($bildname);
ImageDestroy($bildname);
?>
Was ist der Inhalt der beteiligten Variablen? Wo kommt $bildname her und ist das eine Ressourcenkennung, die mit einer der imagecreate*-Funktionen erzeugt wurde?
Das Problem ist: Es wird einfach kein Bild angezeigt und es kommt auch keine Fehlermeldung ala "header already been sent".
Hast du das error_reporting auf E_ALL stehen (und display_errors auf on)?
Wenn du in imgcr.php eine Fehlermeldung bekommst, dann siehst du die im Browser nur, wenn du dir den Quelltext des Bildes (nicht den der "Hauptdatei") anzeigen lässt. Zum Testen kannst du auch den Header weglassen, dann siehst du bei einem direkten Aufruf von imgcr.php auch Fehlermeldungen (neben den Bilddaten).
Ich habe mir mal mittels echo in der externen Datei die Variable $bildname,die auf das Bild verweisen soll,ausgeben lassen-alles korrekt.
var_dump() ist genauer bei seinen Ausgaben.
Also wird das Bild korrekt erzeugt,es wird vom Hauptscript korrekt auf das Bild verwiesen.
Nochmal gefragt: Was willst du im "Hauptscript" mit dem Bild, wenn du es doch erst in imgcr.php benötigst?
echo "$verabschiedung $name";