Я пытаюсь включить один файл PHP в другой файл PHP, который создает изображение jpGraph
(Причина в том, что я загружаю данные mySQL для диаграммы, и я хочу поместить учетные данные для входа в отдельный файл)
Я знаю, что диаграмма создана (потому что создается правильный файл изображения), но диаграмма не отображается на веб-странице.
Вот пример упрощенного кода:
login.inc.php
<?php $lhostname="localhost"; $lusername="joeschmack"; $lpassword="autumnleaf"; $ldatabase="customers"; ?>
accbarex1.html
<html> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <title></title> </head> <body> <h3>This is where I want to display my graph</h3> <img src="accbarex1.php"> </body> </html>
accbarex1.php
<?php // content="text/plain; charset=utf-8" require_once ('../../../lib/jpgraph/jpgraph.php'); require_once ('../../../lib/jpgraph/jpgraph_bar.php'); include("./login.inc.php"); $data1y=array(-8,8,9,3,5,6); $data2y=array(18,2,1,7,5,4); // Create the graph. These two calls are always required $graph = new Graph(500,400); $graph->SetScale("textlin"); $graph->SetShadow(); $graph->img->SetMargin(40,30,20,40); // Create the bar plots $b1plot = new BarPlot($data1y); $b1plot->SetFillColor("orange"); $b1plot->value->Show(); $b2plot = new BarPlot($data2y); $b2plot->SetFillColor("blue"); $b2plot->value->Show(); // Create the grouped bar plot $gbplot = new AccBarPlot(array($b1plot,$b2plot)); // ...and add it to the graPH $graph->Add($gbplot); $graph->title->Set("Accumulated bar plots"); $graph->xaxis->title->Set("X-title"); $graph->yaxis->title->Set("Y-title"); //$graph->title->SetFont(FF_FONT1,FS_BOLD); //$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD); //$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD); // Display the graph $graph->Stroke(); //save to file $fileName = "/tmp/imagefile.png"; $graph->img->Stream($fileName); ?>
в<?php // content="text/plain; charset=utf-8" require_once ('../../../lib/jpgraph/jpgraph.php'); require_once ('../../../lib/jpgraph/jpgraph_bar.php'); include("./login.inc.php"); $data1y=array(-8,8,9,3,5,6); $data2y=array(18,2,1,7,5,4); // Create the graph. These two calls are always required $graph = new Graph(500,400); $graph->SetScale("textlin"); $graph->SetShadow(); $graph->img->SetMargin(40,30,20,40); // Create the bar plots $b1plot = new BarPlot($data1y); $b1plot->SetFillColor("orange"); $b1plot->value->Show(); $b2plot = new BarPlot($data2y); $b2plot->SetFillColor("blue"); $b2plot->value->Show(); // Create the grouped bar plot $gbplot = new AccBarPlot(array($b1plot,$b2plot)); // ...and add it to the graPH $graph->Add($gbplot); $graph->title->Set("Accumulated bar plots"); $graph->xaxis->title->Set("X-title"); $graph->yaxis->title->Set("Y-title"); //$graph->title->SetFont(FF_FONT1,FS_BOLD); //$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD); //$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD); // Display the graph $graph->Stroke(); //save to file $fileName = "/tmp/imagefile.png"; $graph->img->Stream($fileName); ?>
Файл показывает правильную диаграмму, но на веб-странице accbarex1.html отображается сломанное изображение. Если я прокомментирую строку
include("./login.inc.php");
то оба работают.
Зачем? И как я могу включить файл в эту ситуацию?
Редактировать 5-13-2013:
Учитывая, что включенная строка включена. Это помогает (работа с файлами и встроенными диаграммами)
Это не помогает (работает только файл, встроенная диаграмма не работает)
Редактировать 5-14-2013:
Некоторый небольшой прогресс: Firefox показывает такое же поведение, но, по крайней мере, я получаю сообщение об ошибке. Ошибка консоли:
Изображение повреждено или усечено: http: // .. acbarex1.php