我是靠谱客的博主 风中未来,这篇文章主要介绍imagefttext()函数字体文件路径的问题 Could not find/open font 或Invalid font filename,现在分享给大家,希望可以做个参考。

今天,学习php的验证码的时候,遇到一个问题。

<?php
$i=imagecreatetruecolor(500,500);   //空白画布,默认背景色黑色
$white=imagecolorallocate($i,255,255,255);  //给画布分配颜色,此处为白色
imagefill($i,0,0, $white);   //imagefill(image, x, y, color)
$red=imagecolorallocate($i, 255, 0, 0);
imagefttext($i, 24, 30, 90,90, $red, "D:ApachehslGDmsyh.ttf","hello"); //此处需使用绝对路径
header("content-type:image/png");    // 让浏览器按照图像执行D:ApachehslGD
imagepng($i);
?>

imagefttext($i, 24, 30, 90,90, $red, “D:ApachehslGDmsyh.ttf”,“hello”);
我最开始使用的是相对路径,报错,如图所示
这个错误改成绝对路径,解决
后来改成了绝对路径,能够正常显示了。
原本我以为这个问题解决了,可我觉得把网页文件和字体文件msyh.ttf放在同一个目录下不太好,所以在当前文件夹下建了一个子文件夹fonts,把msyh.ttf放到了fonts文件夹下,同时上面的代码中,字体文件路径相应地修改为D:ApachehslGDfontsmsyh.ttf,结果又提示如下错误
错误提示
下图是目录结构,我的路径没写错吧。
在这里插入图片描述

为什么呀?字体文件必须要和php文件在一个文件夹下才可以吗?后来终于找到解决办法了,使用函数realpath后,问题解决,不再报错。

imagefttext($i, 24, 30, 90,90, $red, realpath("fontsarial.ttf"),"hi");

最后

以上就是风中未来最近收集整理的关于imagefttext()函数字体文件路径的问题 Could not find/open font 或Invalid font filename的全部内容,更多相关imagefttext()函数字体文件路径的问题内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(108)

评论列表共有 0 条评论

立即
投稿
返回
顶部