2009-10-16 167 views
0

我有這個文件C:\\xampp\htdocs\exact\sample_pie.php包含一個圖表。這裏是代碼:幫助在php file_get_contents

<?php 
include("phpgraphlib.php"); 
include("phpgraphlib_pie.php"); 
include("connection.php"); 
$graph=new PHPGraphLibPie(400,200); 
$link = mysql_connect('localhost', 'root', ''); 
mysql_select_db('exact'); 

$querypa = "SELECT COUNT(nature) FROM approved WHERE nature='Parade'"; 
$resultpa = mysql_query($querypa); 
$printpa = mysql_result($resultpa,0); 
$querycs = "SELECT COUNT(nature) FROM approved WHERE nature='Community Service'"; 
$resultcs = mysql_query($querycs); 
$printcs = mysql_result($resultcs,0); 
$queryga = "SELECT COUNT(nature) FROM approved WHERE nature='General Assembly'"; 
$resultga = mysql_query($queryga); 
$printga = mysql_result($resultga,0); 
$querypl = "SELECT COUNT(nature) FROM approved WHERE nature='Play/Showcase/Socio-Cultural Show/Film Showing'"; 
$resultpl = mysql_query($querypl); 
$printpl = mysql_result($resultpl,0); 
$queryco = "SELECT COUNT(nature) FROM approved WHERE nature='Competition/Sportsfest'"; 
$resultco = mysql_query($queryco); 
$printco = mysql_result($resultco,0); 
$queryfr = "SELECT COUNT(nature) FROM approved WHERE nature='Fund Raising'"; 
$resultfr = mysql_query($queryfr); 
$printfr = mysql_result($resultfr,0); 
$queryse = "SELECT COUNT(nature) FROM approved WHERE nature='Seminar/Convention/Conference/Training'"; 
$resultse = mysql_query($queryse); 
$printse = mysql_result($resultse,0); 


$totalAct=$printpa+$printga+$printpl+$printcs+$printco+$printfr+$printse; 
$avepa=($printpa/$totalAct)*100; 
$avecs=($printcs/$totalAct)*100; 
$avega=($printga/$totalAct)*100; 
$avepl=($printpl/$totalAct)*100; 
$aveco=($printco/$totalAct)*100; 
$avefr=($printfr/$totalAct)*100; 
$avese=($printse/$totalAct)*100; 
$pa=number_format($avepa,2); 
$cs=number_format($avecs,2); 
$ga=number_format($avega,2); 
$pl=number_format($avepl,2); 
$co=number_format($aveco,2); 
$fr=number_format($avefr,2); 
$se=number_format($avese,2); 

$data=array("Parade"=>$pa, "General Assembly"=>$ga, "Play/Showcase/Socio-Cultural Show/Film Showing"=>$pl, "Community Service"=>$cs, "Competition/Sportsfest"=>$co, "Fund Raising"=>$fr, "Seminar/Convention/Conference/Training"=>$se); 
$graph->addData($data); 
$graph->setTitle("Total Activities per Nature of Activity"); 
$graph->setPrecision(2); 
$graph->setLabelTextColor("0,0,0"); 
$graph->setLegendTextColor("0,0,0"); 
$graph->setGradient("210,245,255","pastel_purple"); 

$graph->createGraph(); 

?> 

我怎樣才能得到圖形作爲一個JPG通過PHP腳本?我想這file_get_contents("C:\\xampp\htdocs\exact\sample_pie.php"); 但它只輸出這樣的:

$pa, "General Assembly"=>$ga, "Play/Showcase/Socio-Cultural Show/Film Showing"=>$pl, "Community Service"=>$cs, "Competition/Sportsfest"=>$co, "Fund Raising"=>$fr, "Seminar/Convention/Conference/Training"=>$se); $graph->addData($data); $graph->setTitle("Total Activities per Nature of Activity"); $graph->setPrecision(2); $graph->setLabelTextColor("0,0,0"); $graph->setLegendTextColor("0,0,0"); $graph->setGradient("210,245,255","pastel_purple"); $graph->createGraph(); ?> 

請幫助我。謝謝。

+0

您正在使用的庫將圖形輸出爲GIF格式。 爲什麼你需要輸出圖像? – unrelativity 2009-10-16 01:31:44

+0

我需要把圖像放在一個年度報告的pdf文件中。圖像是一張圖表。 – noob 2009-10-16 01:34:12

+0

難道你不能從瀏覽器保存它嗎? – unrelativity 2009-10-16 01:58:31

回答

1

使用file_get_contents()就像那樣只會檢索腳本本身。該文件是該文件包含的內容,這就是file_get_contents()所做的;正是它在錫上所說的。

嘗試查看PHPGraphLib的文檔或源代碼失敗的文檔。應該有某種保存方法可以調用,而不是createGraph(),或者您可以傳遞文件名參數到createGraph()

1

在一個旁註中,我應該提到你的腳本比它應該更復雜。 mysql_select_db()$graph->addData()之間一切都可以改寫成這樣:

$data = array(
    'Parade' => 0, 
    'Community Service' => 0, 
    'General Assembly' => 0, 
    'Play/Showcase/Socio-Cultural Show/Film Showing' => 0, 
    'Competition/Sportsfest' => 0, 
    'Fund Raising' => 0, 
    'Seminar/Convention/Conference/Training' => 0 
); 

$sql = "SELECT nature, COUNT(*) AS cnt 
      FROM approved 
     WHERE nature IN ('" . implode("','", array_keys($data)) . "') 
     GROUP BY nature"; 
$result = mysql_query($sql); 

while ($row = mysql_fetch_assoc($result)) 
{ 
    $data[$row['nature']] = $row['cnt']; 
} 
$totalAct = array_sum($data); 

foreach ($data as $nature => &$value) 
{ 
    $value = number_format(100 * $value/$totalAct, 2); 
} 

對於剩下的,請諮詢您的圖形庫的文檔作爲奧利·桑德斯建議。

0
<img src="/exact/sample_pie.php" /> 

您可能需要使用header()從sample_pie.php內設置適當的內容類型。