imagefttext 从数据库中获取文本

imagefttext get text from database

我想为在我的网站上注册的会员制作身份证。用户注册后,他们可以单击打印并生成身份证(png 或 jpg)。我使用 PHP 函数 imagettftext 但它不起作用。我不知道错误的代码在哪里。我的代码:

<?php
include($_SERVER['DOCUMENT_ROOT'].'/ektp/header.php');//Database config and session login
$id = $_GET['id'];
$sql = "SELECT * FROM data WHERE noktp=$id";
$result = $conn->query($sql);
$row = $result->fetch_array();
$noid = $row['id'];
$name = $row['name'];
$addr = $row['address'];
$im = imagecreatefrompng('./ektp.png');
$black = imagecolorallocate($im, 0, 0, 0);
$font = "./Ubuntu-R.ttf";

imagettftext($im, 15, 0, 200, 35, $black, $font, $noid);
imagettftext($im, 15, 0, 200, 65, $black, $font, $name);
imagettftext($im, 15, 0, 200, 85, $black, $font, $addr);

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

自己解决的,我的问题是

include($_SERVER['DOCUMENT_ROOT'].'/ektp/header.php');

处理多个文件但不处理 imagettftext,所以我改为

include('../header.php')

我在 header.php 中有一些 html 元素,例如

<style>
<script>

所以我拆分到另一个文件。在 header.php 中只有数据库配置和..

图像与数据库中的文本一起显示:)