0
我想包括在創建jpgraph的圖像另一個PHP文件中的一個PHP文件jpgraph的不能包含PHP文件
(原因是,我加載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);
?>
的文件顯示正確的cha rt,但網頁accbarex1.html顯示一張破碎的圖像。 如果我註釋掉這一行
include("./login.inc.php");
然後雙方都有效。
爲什麼?我該如何在這種情況下包含一個文件?
編輯 2013年5月13日:
鑑於包括線是有效的。 這有助於(包括文件和嵌入圖表工作)
- ./login.inc.php不存在
- ./login.inc.php是空
這不利於(只有文件的工作,嵌入圖表不工作)
- 使用絕對路徑,包括文件
- ./login.inc.php包含線 bla // PHP error
- ./login.inc.php包含行$ i = 1; //沒有PHP的錯誤,沒有PHP標籤
編輯 2013年5月14日:
一些輕微的進步:火狐顯示了相同的行爲,但至少我得到一個錯誤信息。錯誤控制檯說:
圖片損壞或截斷:HTTP:// .. acbarex1.php
檢查您的錯誤日誌並嘗試使用絕對鏈接(/home/user/public_html/login.inc.php)而不是相對的鏈接。 – aynber 2013-05-13 20:33:44
要解決這個問題,請註釋掉最後一行('$ graph-> img-> Stream($ fileName);')並直接執行accbarex1.php以查看include(「./ login」)生成的輸出。 inc.php「)'或腳本的其他部分。 – 2013-05-13 20:35:51
絕對路徑:無變化。 – atmelino 2013-05-13 21:28:56