hi,
Faustregel: Ein mit header() generiertes Bild ist gänzlich ungeeignet, im Browser irgendwelche Skriptfehlertexte anzuzeigen. Im Gegensatz dazu ist ein erfolgreich generiertes Bild, welches als text/html ausgeliefert wird, recht einfach zu identifizieren.
bei direktaufruf des "bild"-URLs im browser genügt es schon, den header()-befehl erst direkt vor dem imagejpeg() zu machen.
treten vorher fehler auf, wird das script mit dem (hoch wahrscheinlichen) content-type für php-scripte, nämlich text/html ausgeliefert, und die fehlermeldungen sind "sichtbar".
gruss,
wahsaga