php:函数在包含在不同文件中时中断

时间:2010-03-05 01:54:00

标签: php

我正在尝试围绕Image_Graph条形图编写一个包装器。 我实际上写了整篇文章,但最终没有用,所以现在我回到了基础。 以下代码直接从ImageGraph网站获取,作为条形图示例。我把它包装在一个函数中(现在忽略$ data)。

如果我从它在(例如,function.php)中定义的同一文件中调用它,则此函数可以正常工作。但是,如果我创建第二个文件,caller.php,我只是include_once或require_once这个文件function.php然后只是调用该函数,它会中断。

任何人都可以帮助我吗?我可能正在做一些基本的错误,但我无法弄明白。它也可能是Image_Graph特有的东西,因为如果我创建一个只打印Hello World并从另一个文件中调用它的简单函数,它就可以正常工作。

谢谢, 丹尼尔

<?php
include_once('Image/Graph.php');

function DrawBarChart($width, $height, $data)
{
 // create the graph
 $graph = Image_Graph::factory('graph', array($width, $height));

 // create the plotarea
 $plotArea =& $graph->addNew('plotarea');

 // create a dataset
 $dataset =& Image_Graph::factory('dataset');

 // add points
 $dataset->addPoint('Denmark', 10); 
 $dataset->addPoint('Norway', 3); 
 $dataset->addPoint('Sweden', 8); 
 $dataset->addPoint('Finland', 5); 

 $plot =& $plotArea->addNew('bar', &$dataset); 

 $graph->done();
}
?> 

2 个答案:

答案 0 :(得分:2)

您似乎正在尝试通过php文件本身输出图像。 您的原始脚本中是否有一行读起来像标题('Content-Type:image / jpeg')?

您可能只想将图像写入目录,然后通过html上的img src ='path'加载它,而不是仅通过php加载它。

答案 1 :(得分:0)

检查以确保文件位于同一位置。如果它们位于不同的目录中,如果包含的文件没有从包含路径中获取库,则可能会导致问题。