GB-Lib-Binärdate(?) direkt anzeigen

M

master_p

Moin,

ich erstelle mit pChart eine Statistik. Das klappt auch alles wunderbar. Mein PHP-Script zur Erstellung kann ich wunderbar mit dem Image-Tag anzeigen lassen.
HTML:
<img id="statistic" src="myStatistics.php" alt="Meine Statistik" />

So weit so gut. Nun möchte ich die Statistik allerdings abhängig machen vom Monat. Sprich ich möchte sie beim "default"-Aufruf mit dem aktuellen Monat aufrufen und der Benutzer soll per Klick den anzuzeigenden Monat auswählen können. Hierbei wollte ich eigentlich auf einen Ajax-Request setzen, damit eben nur das Bild neugeladen wird.

Mein Javascript-Code (Prototype) sieht so aus:
HTML:
function reloadStatistic(month) {
 var params = '?month=' + month;
 new Ajax.Request(
  myStatistic.php',
    {
      method: 'get',
      asynchronous:true,
      evalScripts:false,
      parameters: params,
      onComplete:function(request, json) {
        $('statistic').src = request.responseText;
      }
    }
  );
}

Ich hatte es zwar erst mit dem Ajax.Updater, aber im Prinzip ist es ja egal, wie man's macht.

Problem dabei ist allerdings, dass das Script eben ein Bild erzeugt und somit als ResponseText Binärdaten(?) zurückgibt. Und das img-Tag braucht natürlich einen Dateinamen. Klar könnte ich jetzt im PHP-Script das Bild auf die Platte schreiben und einen Dateinamen zurückgeben. Aber genau das will ich eigentlich vermeiden. Ich will eigentlich, dass er das Bild on-the-fly erzeugt und ich es direkt anzeige, ohne die Platte vollzumüllen.

Kann ich irgendwie in PHP oder JS diese Daten so "umwandeln", dass ich damit aus dem Request etwas anfangen kann oder muss ich die jetzt tatsächlich auf der Platte vorerst abspeichern?

Mit fruendlichem Gruß
Philip

edit: Die Rückgabe sieht übrigens so aus, ich denke das es Binärdaten sind:
?PNG  ??? IHDR????????????????tRNS??????7X}?? ?IDATx??}x?????d&?0CB???1E@?
[...]
und so weiter
 
Zuletzt bearbeitet von einem Moderator:
Hi,

braucht man dafür überhaupt einen Ajax-Request? Ich hätte da jetzt einfach $('statistic').src auf myStatistic.php?month=<ausgewählter Monat> gesetzt.

LG
 
Zurück