我是靠谱客的博主 风中未来,最近开发中收集的这篇文章主要介绍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()函数字体文件路径的问题 Could not find/open font 或Invalid font filename所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部