Categories
PHP

PHP imagettftext() 함수가 폰트 파일을 찾지 못하는 문제 해결 방법

1. 문제의 현상 (現狀) 과 원인

다음과 같이 PHP 코드를 작성한다.

<?php
$im = imagecreatetruecolor(640, 320);
$blue = imagecolorallocate($im, 0, 0, 255);

$size = 75;
$angle = 0;
$x = 45;
$y = 200;
$font_filename = "DejaVuSansMono-Bold.ttf";
$text = "xtmci.com";
imagettftext($im, $size, $angle, $x, $y, $blue, $font_filename, $text);

header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>

이 코드는 이미지 하나를 생성해서 그 위에 “xtmci.com” 이라는 문자열을 추가한다.

다음은 앞의 PHP 코드를 브라우저에서 실행한 결과이다.


텍스트가 출력되지 않는다.

문제의 원인은 폰트 파일의 경로를 지정하는 방식에 있다.

imagettftext() 함수는 다음과 같이 지정된 폰트 파일의 경로를 찾지 못한다.

$font_filename = “DejaVuSansMono-Bold.ttf”;

2. 문제 해결 방법

현재 디렉토리를 의미하는 “.” (마침표) 를 파일 경로에 추가하면 문제가 해결된다.

문제가 된 부분을 다음과 같이 수정한다.

$font_filename = “./DejaVuSansMono-Bold.ttf”;

브라우저에서 PHP 코드를 실행하여 결과를 확인한다.

Leave a Reply

Your email address will not be published. Required fields are marked *