2012-08-10 3 views
0

PHP로 생성 된 이미지 알고리즘을 print로 디버그하고 싶습니다. 문제는 인쇄물에 넣은 텍스트가 출력되지 않는다는 것입니다. 어떻게 디버깅 할 수 있도록 변수를 출력 할 수 있습니까? 감사합니다, Furtano어떻게 인쇄로 PHP 이미지를 디버그합니까?

public function drawPicture() 
    { 
     $im = imagecolorallocate ($this->picture, 255, 0, 255); 
     imagettftext($this->picture, $this->fontSize , 0, 100, 100,$im , "cooperm.TTF", $this->name); 



     # int ImageCopy (resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h) 
     //imagecopy($this->picture, $this->pika, $this->wappen['pika']['dst_x'], $this->wappen['pika']['dst_y'], 0, 0, $this->pika_size[0], $this->pika_size[1]); 

     $zufall = rand(1,99999999); 

     #header("Content-Type: image/jpeg"); 
     imagepng($this->picture); 

     $this->checkFontSize(); 

     imagedestroy($this->picture); 

     print "WHY_DOESNT_PRINT?"; 


    } 
+1

전원을 켜고 오류에 대한보고. 'print' 문 앞에 스크립트가 자동으로 실패 할 가능성이 있습니다. 'print'를 코드의 위로 옮겨보십시오. 함수의 시작 부분까지 호출되어 있는지 확인하십시오. – Bojangles

+0

스크립트가 실패하지 않습니다. 그게 어떻게 스크립트를 사용하여 인쇄 ''; – Furtano

+0

지금은 무엇을보고 있습니까? 당신이 header 함수에 대한 호출을 주석 처리했지만 아직 imagepng을 호출하고 있다고 가정하면 – mishu

답변

1

브라우저에 .PNG 이미지를 전송하는, 그래서 브라우저가 이미지를 표시하려고합니다. 추가 텍스트는 유효하지 않은 이미지 데이터로 간주되어 표시되지 않습니다.

문제를 해결하려면 header() 호출을 사용하여 브라우저에 디버그 메시지를 보내거나 Firefox + Firebug + PHP 파이어 버그 어댑터를 사용하십시오. Firebug는 정보를 전송하기 위해 헤더와 함께 작동하므로 이미지 생성 기능에서 안전합니다.

0

rorrorlog를 사용하여 디버그하려면보고자하는 스크립트를 가리 키십시오. 작성된 파일을 쉽게 볼 수 있습니다.

에스 :

error_log("\r\n debug " . implode("; ", $hc), 3, "errors.log"); // in case array 
error_log("\r\n print " . $im, 3, "errors.log"); 
관련 문제