无效的字体文件名无法在PHP中使用.ttf文件
我正在尝试使用imagettftext在PHP中将文本添加到图像中。但是,它似乎不接受任何.ttf文件,并不断给出错误:“找不到/打开字体”和“无效字体文件名”。文件路径为localhost/fonts/arial.ttf 我尝试了相对路径、绝对路径,将无效的字体文件名无法在PHP中使用.ttf文件,php,gd,Php,Gd,我正在尝试使用imagettftext在PHP中将文本添加到图像中。但是,它似乎不接受任何.ttf文件,并不断给出错误:“找不到/打开字体”和“无效字体文件名”。文件路径为localhost/fonts/arial.ttf 我尝试了相对路径、绝对路径,将/更改为\,尝试将./放在路径之前,但似乎没有任何效果。 我已经检查了GD版本及其2.1.0版本,FreeType链接是“带FreeType”的,不管这意味着什么 <?php $output = "pics/email.png";
/
更改为\
,尝试将./
放在路径之前,但似乎没有任何效果。
我已经检查了GD版本及其2.1.0版本,FreeType链接是“带FreeType”的,不管这意味着什么
<?php
$output = "pics/email.png";
$x = 720;
$y = 480;
$image = imagecreate($x, $y);
//colors to use (rgb)
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
$font = 'fonts/arial.ttf';
$text1 = imagettftext($image, 40, 0, 20, 40, $black, $font, "Text Sample");
imagejpeg($image, $output);
var_dump(gd_info());
?>
如果有人能给出一个有效的答案,我将不胜感激。已经解决了这个问题,感谢评论部分的人
我只需要使用完整文件路径(C://…/fonts/arial.ttf)尝试使用字体的完整文件路径,而不是相对文件路径。localhost不是路径,它是URL。因此,是的,按照@anynber在文档中所说的:“根据PHP使用的GD库的版本,当fontfile不以前导/then开头时,将在文件名后附加.ttf,库将尝试沿着库定义的字体路径搜索该文件名。”因此,是的,始终使用绝对路径,或者,即使它在本地工作,您也可能在移植时遇到麻烦。很抱歉,您所说的完整路径是指C://…/fonts/arial.ttf吗?另请参见--yes使用完整的
C:/path/to/fonts/arial.ttf