2012-04-26 4 views
2

임의의 숫자의 보안 문자 이미지를 생성해야하는이 코드가 있는데, 로컬 호스트에서는 작동하지만 내 호스트에서는 제대로 작동하지 않습니다. 아무도 도와 줄 수 있습니까? 누군가 내가 잘못 가고 있다고 말할 수 있습니까?imagejpeg(); 호스트 서버에서 이미지를 생성하지 않습니다. 로컬 호스트에서 잘 작동합니다.

  <?php 
session_start(); 
header('Content-type: image/jpeg'); 

$text= $_SESSION['secure']; 

$font_size =30; 
$image_width= 110; 
$image_height=40; 

$image=imagecreate($image_width,$image_height); 
imagecolorallocate($image, 255, 255, 255); 
$text_color = imagecolorallocate($image, 0, 0, 0); 


for($x=1; $x<=30; $x++){ 
$x1 = rand(1,100); 
$x2 = rand(1,100); 
$y1 = rand(1,100); 
$y2 = rand(1,100); 
imageline($image, $x1, $x2, $y1, $y2, $text_color); 
} 

imagettftext($image, $font_size, 0, 15, 30, $text_color, 'font.ttf', $text); 
imagejpeg($image); 
?> 

그리고 난 내가 내 양식 및 호출이 같은 이미지가 새 HTML 파일에 위의 코드를 포함하는 파일이 포함

<img src="generate.php"/> 
+0

서버에 gd 라이브러리가 설치되어 있는지 확인 했습니까? 확인하려면 phpinfo()를 사용하십시오. –

+1

'generate.php' 이미지 URL을 다운로드하려면'wget' 또는'curl'을 사용하십시오. 헤더 및 결과 바이너리 데이터를 검사합니다. 아마도 오류 메시지가 있습니까? (그렇지 않으면 error_reporting을 활성화하고 로그를 확인하십시오.) – mario

+0

글꼴'font.ttf'를 스크립트와 같은 폴더에 복사 했습니까? –

답변

1

문자열 hello과 함께 스크립트 테스트 작동

image generated

암 매우 확인 문제는 글꼴을 위치 할 수 PHP .. 전체 정상적 복용을 사용하려고한다는 것입니다 EM 경로

$font = dirname (__FILE__) . "/verdana.ttf" ; 
if(!is_file($font)) 
{ 
    die("Missing Font"); 
} 
0

당신이 당신의 스크립트의 선두에 공백이나 줄 바꿈이 없는지 확인하십시오. 이미지를 표시하기 전에 출력 된 모든 텍스트는 실패하게됩니다.

관련 문제