Мне было трудно заставить jpgraph работать с cakephp.У меня есть контроллер под названием «Графики», и все, что он делает, это отображает вид.View / Graphs / index.ctp очень прост:
echo "This is an image of my report";
echo "<img src='/<projectbase>/reports/index'></img>";
, который, как я считаю, пытается получить информацию из ReportsController, а затем его представление называется index.Затем у меня есть ReportsController:
<?php
class ReportsController extends AppController {
var $name = 'Reports';
function index() {
$this->layout='ajax';
}
}
, который просто вызывает представление индекса в отчетах и возвращает информацию ajax.Затем у меня есть View / Reports / 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();
Теперь на основе эта ссылка View / Graphs / index.ctp имеет ссылку на изображение, которая вызывает View / Reports/index.ctp и говорит ему, чтобы вернуть jpgraph, который я хочу.Когда я запускаю этот код, я получаю сообщение об ошибке «Ресурс интерпретируется как изображение, но передается с MIME-типом text / html».Если я перейду к ссылке напрямую (localhost // reports / index), она выдаст много интересных символов, а PNG находится в начале.Я считаю, что это двоичный файл, который был сгенерирован из материала jpgraph, поэтому я считаю, что SOMETHING генерируется, но не отображается правильно и не переносится в View / Graps / index.ctp правильно.
Я чувствую, что если я неЯ упустил что-то очень маленькое, я украл это по существу из ссылки в вопросе, так что это раздражает, что это не работает.Я что-то пропустил?Есть ли более простой способ построения графика в cakephp?
Моя теория заключается в том, что есть нечто странное в том, как я собираю данные из представления, а также в том, как работает вызов App :: Vendor ().торт php.Когда я говорю изображению искать jpgraph вне структуры cakephp, он генерирует его без проблем:
echo "<img src='/jpgraph/Examples/example0.php'></img>";
, и когда я перехожу на эту страницу напрямую, он может без проблем генерировать график.
Спасибо за помощь!