Hi,
du musst statt $this->$data nur $this->data verwenden. Dann funktioniert alles!!
Ah, sieh an, ich hab gestern Anbend auch drübergeschaut, es war mir aber nicht aufgefallen. Aufgefallen ist es aber sicher dem PHP, nur durfte es vermutlich nichts sagen, weil es üblicherweise mit einem error_reporting-Wert ohne E_NOTICE betrieben wird. Stellt man es auf E_ALL (und display_errors auf on) sieht man Zugriffe auf nicht vorhande Variablen, weil die mit einer Notice gemeldet werden. Beim Entwickeln ist es immer eine gute Idee, mit E_ALL zu arbeiten.
Das kann ja durchaus der Fall gewesen sein - nur wenn im Script vorher schon
Header("Content-Type: image/png");
steht, dann kann PHP so laut vor Schmerzen schreien, wie es will - der Schrei verhallt meist ungehoert, weil der Browser nun mal ein Bild erwartet, und dieses hoechstens als "kaputt" anzeigt, wenn es irgendwo komischen Text wie bspw. PHP-Meldungen enthaelt.
Deshalb rate ich bei solchen Scripten, den header-Aufruf erst ganz zum Schluss vor dem Aufruf von imagejpeg zu platzieren - dann hat PHP bei davor auftretenden Fehlern wenigstens noch die Chance, auf sich aufmerksam zu machen (sofern man das ganze ueber Direktaufruf des Bild-Scriptes testest - bei Einbindung ueber <img> nutzt es auch wenig).
MfG ChrisB
„This is the author's opinion, not necessarily that of Starbucks.“