2014-07-15 5 views
-1

GD를 사용하여 PHP 텍스트의 이미지를 생성하는 코드를 작성했습니다. XAMPP localhost에서이 코드를 실행할 때 오류가 발생하지 않지만 이미지를 가져올 수 없습니다. 내가 로컬 호스트에서이 HTML 파일을 실행했을 때 얻을 모든 브라우저에서 기호 이미지를 찾을 수없는오류가 발생하지 않지만 gd 이미지가 표시되지 않습니다.

<img src="generate.php"/> 

Generate.php

<?php 
    session_start() ; 
    header ('Content-type: image/jpeg') ; 
    $_SESSION['secure'] = rand(1000,9999) ; 
    $text=$_SESSION['secure'] ; 
    $font_size=30 ; 
    $img_height=40 ; 
    $img_width=100 ; 
    $image=imagecreate($image_width,$image_height) ; 
    imagecolorallocate($image,255,255,255) ; 
    $text_color=imagecolorallocate($image,0,0,0) ; 
    imagettftext($image,$font_size,0,15,30,$text_color,'captchafont.ttf',$text) ; 
    imagejpeg($image) ; 
?> 

HTML. 내가하고있는 실수에 대해 제 코드를 확인해주십시오. 미리 감사드립니다.

당신이 줄 변경해야

답변

2

: 당신이 $image_width$image_height$img_width$img_height 변수를 정의하지 않았기 때문에

$image=imagecreate($image_width,$image_height) ; 

$image=imagecreate($img_width,$img_height) ; 

로를

당신은 또한 확실히 captchafont.ttf가 있는지 확인해야합니다 올바른 경로에 있고 올바른 방법으로 사용됩니다. 매뉴얼에서 :

는 fontFile에이 선도/다음 .TTF가 에 추가 될 파일 이름으로 시작하지 않는 라이브러리가 검색을 시도 할 때, 사용하는 GD 라이브러리 PHP의 버전에 따라 파일 이름 은 라이브러리 정의 폰트 경로를 따릅니다. 테스트

코멘트에 대한

작은 조언/오류가 표시되지 않습니다 확인하기 위해 예를 http://localhost/generate.php에 대한 귀하의 브라우저에서 URL을 줄 header ('Content-type: image/jpeg') ; 간단한 실행을 제거합니다. 그렇지 않으면 여전히 파일 시작 부분에 error_reporting(E_ALL)이 추가되지 않습니다. 모든 오류와 경고를 제거한 후에는 물론이 줄을 지우고 header 줄의 주석 처리를 제거한 다음 이미지가 올바르게 표시되는지 확인해야합니다.

+2

+1이 있지만, 이런 종류의 질문은 오타가 될 수 있습니다. 설명문과 함께 닫아야합니다.) –

+0

@NiettheDarkAbsol 방금이 내용에 대한 설명을 추가했습니다. –

관련 문제