2010-03-05 4 views
1

Image_Graph 막 대형 차트 주위에 래퍼를 작성하려고합니다. 나는 실제로 모든 것을 썼지 만 결국에는 효과가 없었으므로 지금은 기본으로 돌아 간다. 아래의 코드는 ImageGraph 웹 사이트에서 막대 차트 예제로 직접 가져온 것입니다. 방금 함수 ($ data는 무시되었습니다)에 포장했습니다.php : 다른 파일에 포함되어있을 때 함수가 중단됩니다.

이 함수는 함수 (예 : function.php)에 정의 된 동일한 파일에서이 함수를 호출하면 올바르게 작동합니다. 그러나 두 번째 파일 인 caller.php를 작성하면이 파일 function.php를 include_once 또는 require_once로 만든 다음 함수를 호출하면 중단됩니다.

아무도 도와 줄 수 있습니까? 나는 아마 약간의 기본적인 실수를하고있을 것이지만 나는 그것을 이해할 수 없다. Hello World를 인쇄하고 다른 파일에서 호출하는 간단한 함수를 만들면 잘 작동하기 때문에 Image_Graph에 특정한 것일 수도 있습니다.

감사합니다, 다니엘

<?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(); 
} 
?> 
+3

Daniel - 우선, "깨지기"보다는 구체적 일 수 있습니까? :) 오류 메시지를 붙여 넣거나 부러진 것이 좋은 답변을 제시하는 데 유용 할 것입니다. – rjh

+0

나는 그것이 실제로 다른 일을 내가해야 할 :) 을 시도하고 내용에 따라 의미 나누기 말할 때 - 난 단지 그 함수 를 호출하는 빈 스크립트를 시도하는 경우 - IE에를 내가 함께 빈 페이지를 얻을 왼쪽 상단 구석에 깨진 링크 이미지. - Firefox에서 "http : //localhost/test.php"이미지가 표시 될 수 없습니다. 오류가 있기 때문에 오류 메시지가 나타납니다. " -이 함수 호출을 다른 페이지에 포함 시키면 그래프가 이미 표시됩니다. 이진 출력이 텍스트로 변환 된 것처럼 보입니다. PNG IHDR , ݽ K – Daniel

+0

PHP 오류가 켜져 있습니까? PHP 오류가 유용 할 것입니다. – staticsan

답변

2

PHP 파일 자체를 통해 이미지를 출력하려고하는 것 같습니다. 원본 스크립트에 header ('Content-Type : image/jpeg')와 같은 줄이 있습니까?

이미지를 디렉토리에 쓴 다음 html의 img src = 'path'를 통해로드하는 대신 PHP를 통해 이미지를로드 할 수 있습니다.

+0

그게 전부입니다. 방금 호출자 스크립트에 태그를 추가했는데 완벽하게 작동했습니다. 감사합니다. s1d :) – Daniel

0

점검 파일이 같은 위치에 모두 확인합니다. 파일이 다른 디렉토리에 있으면 포함 된 파일이 포함 경로에서 라이브러리를 선택하지 않으면 문제가 발생할 수 있습니다.

+0

다른 디렉토리에 있지만 내 포함에 절대 경로를 설정하려고했습니다. 왜냐하면 필자는 Hello World를 인쇄하는 것과 같은 기능을 좀 더 간단하게 변경했기 때문에 문제가 없다는 것을 알았습니다. – Daniel

관련 문제