Php imagettftext()-找不到字体位置
我正在使用imagettftext函数创建自定义验证码脚本 我已经在运行PHP版本5.3.8的PC上成功运行并测试了代码,但是当我上传到运行PHP版本5.2.17的共享主机帐户时,出现了以下错误Php imagettftext()-找不到字体位置,php,captcha,imagettftext,Php,Captcha,Imagettftext,我正在使用imagettftext函数创建自定义验证码脚本 我已经在运行PHP版本5.3.8的PC上成功运行并测试了代码,但是当我上传到运行PHP版本5.2.17的共享主机帐户时,出现了以下错误 Warning: imagettftext() [function.imagettftext]: Could not find/open font in /home/pheelco/public_html/captcha.php on line 17 这是17号线 imagettftext($img,
Warning: imagettftext() [function.imagettftext]: Could not find/open font in /home/pheelco/public_html/captcha.php on line 17
这是17号线
imagettftext($img, 25, 0, 0, 25, $text, "fonts/alger.ttf", $num);
我肯定有文件夹字体上传的字体,它在公共的html文件夹
有什么想法吗
注意:我没有权限更改任何PHP配置,因为我使用的是共享主机帐户。imagettftext文档说明:
字体文件
要使用的TrueType字体的路径
根据PHP使用的GD库的版本,何时
fontfile不以前导/then开头。ttf将附加到
文件名和库将尝试搜索该文件名
沿着库定义的字体路径
当使用低于2.0.18的GD库版本时,空格
字符而不是分号用作“路径分隔符”
对于不同的字体文件。无意中使用此功能将导致
结果显示警告消息:警告:无法找到/打开字体。对于
在这些受影响的版本中,唯一的解决方案是将字体移动到
不包含空格的路径
在许多情况下,字体与脚本位于同一目录中
使用它,下面的技巧将缓解任何include问题
<?php // Set the enviroment variable for GD
putenv('GDFONTPATH=' . realpath('.'));
// Name the font to be used (note the lack of the .ttf extension)
$font = 'SomeFont'; ?>
你试过这个吗?您可以使用检查正在使用的GD的版本。imagettftext文档说明:
字体文件
要使用的TrueType字体的路径
根据PHP使用的GD库的版本,何时
fontfile不以前导/then开头。ttf将附加到
文件名和库将尝试搜索该文件名
沿着库定义的字体路径
当使用低于2.0.18的GD库版本时,空格
字符而不是分号用作“路径分隔符”
对于不同的字体文件。无意中使用此功能将导致
结果显示警告消息:警告:无法找到/打开字体。对于
在这些受影响的版本中,唯一的解决方案是将字体移动到
不包含空格的路径
在许多情况下,字体与脚本位于同一目录中
使用它,下面的技巧将缓解任何include问题
<?php // Set the enviroment variable for GD
putenv('GDFONTPATH=' . realpath('.'));
// Name the font to be used (note the lack of the .ttf extension)
$font = 'SomeFont'; ?>
你试过这个吗?您可以使用检查正在使用的GD版本。已解决。原来文件名是alger.TTF,文件扩展名大写,在我的代码中,我用小写扩展名引用它。出于某种原因,这在PHP5.3.8中仍然有效,但在PHP5.2.17中却不起作用。我希望这能帮助其他遇到此问题的人解决此问题。原来文件名是alger.TTF,文件扩展名大写,在我的代码中,我用小写扩展名引用它。出于某种原因,这在PHP5.3.8中仍然有效,但在PHP5.2.17中不起作用。我希望这能帮助其他遇到此问题的人它不在同一文件夹中,而是在子目录中。@MichaelRuta:Then compensate:putenv'GDFONTPATH='。realpath'.'/字体问题解决了。原来文件名是alger.TTF,文件扩展名大写,在我的代码中,我用小写扩展名引用它。出于某种原因,这在PHP5.3.8中仍然有效,但在PHP5.2.17中不起作用。我希望这能帮助其他遇到此问题的人。虽然它不在同一文件夹中,但它在子目录中。@MichaelRuta:Then compensate:putenv'GDFONTPATH='。realpath'.'/字体问题解决了。原来文件名是alger.TTF,文件扩展名大写,在我的代码中,我用小写扩展名引用它。出于某种原因,这在PHP5.3.8中仍然有效,但在PHP5.2.17中却不起作用。我希望这能帮助其他遇到此问题的人。