Ich hatte eine schwierige Zeit bekommen jpgraph mit cakephp arbeiten. Ich habe einen Controller namens "Graphs" und alles, was es tut, ist die Ansicht anzuzeigen. Ansicht/Graphs/index.ctp ist sehr einfach:cakephp 2.0 jpgraph
echo "This is an image of my report";
echo "<img src='/<projectbase>/reports/index'></img>";
, die ich versucht glauben, dass die Informationen aus dem ReportsController zu bekommen und dann seine Ansicht Index bezeichnet. Ich habe dann einen ReportsController:
, die nur die Indexansicht in Berichte aufruft und dies Ajax-Informationen zurückgibt. Ich habe dann die View/Berichte/index.ctp:
App::import('Vendor', 'jpgraph/jpgraph');
App::import('Vendor', 'jpgraph/jpgraph_line');
// Some data
$ydata = array(11,3,8,12,5,1,9,13,5,7);
// Create the graph. These two calls are always required
$graph = new Graph(350,250);
$graph->SetScale('textlin');
// Create the linear plot
$lineplot=new LinePlot($ydata);
$lineplot->SetColor('blue');
// Add the plot to the graph
$graph->Add($lineplot);
// Display the graph
$graph->Stroke();
nun basierend auf this link die Ansicht/Graphs/index.ctp hat ein Bild Link, der die View/Berichte/index.ctp ruft und sagt ihm zurückzukehren die JPG, die ich will. Wenn ich diesen Code ausführe, erhalte ich den Fehler "Ressource interpretiert als Bild, aber übertragen mit MIME-Typ text/html". Wenn ich direkt auf den Link gehe (localhost // reports/index), spuckt er eine Menge funky Zeichen aus, und PNG ist fast am Anfang. Ich glaube, das ist eine Binärdatei, die aus dem jpgraph-Zeug erzeugt wurde, daher glaube ich, dass etwas erzeugt wird, aber es wird nicht korrekt gerendert, noch korrekt in View/Graps/index.ctp gebracht.
Ich mag das Gefühl, es sei denn, ich etwas wirklich klein bin fehle, schlich ich diese im Wesentlichen wörtlich aus dem Link in der Frage so seine ärgerlich es war nicht arbeiten. Fehle ich etwas? Gibt es einen einfacheren Weg, in Cakephp zu plotten?
Meine Theorie ist, dass es etwas komisches darüber ist, wie ich die Daten aus der Ansicht ergreife und auch wie der App :: Vendor() - Aufruf in Cake php funktioniert. Wenn ich ein Bild sagen, außerhalb der cakephp Struktur für die jpgraph aussehen es erzeugt es kein Problem:
echo "<img src='/jpgraph/Examples/example0.php'></img>";
und wenn ich auf diese Seite gehen direkt ist es möglich, die grafische Darstellung ohne Probleme zu erzeugen.
Danke für die Hilfe!
Hallo Mensch, danke für deine schnelle Antwort. Ich habe die Links ausprobiert, die Sie vorgeschlagen haben, und ich habe immer noch Probleme damit. Ich habe die Frage selbst bearbeitet, um genauer auf die Dinge einzugehen, die ich probiert habe. Danke für die Hilfe! – JCR
Ich denke, dass Ihr Update eine eigene Frage verdient, da es sich um ein anderes, wahrscheinlich nicht damit zusammenhängendes Problem handelt. – mensch
Ich habe meine Antwort mit einigen zusätzlichen Zeigern aktualisiert. – mensch