我正在尝试在000webhost
托管的网站上显示我的验证码图片,但它显示错误:
imagettftext()[function.imagettftext]:无法找到/打开字体 第20行/home/a3594760/public_html/captcha1.php
虽然我在同一个文件夹中存档了MAGENTOB.TTF。我的代码是在我的localhost中使用相同的代码,但在000webhost
中托管时显示错误:
<?php
include_once('includes/session.php');
$_SESSION['secure']=rand(1000,9999);
header('content-type:image/jpeg');
$text=$_SESSION['secure'];
$font_size=25;
$image_width=200;
$image_height=40;
$image=imagecreate($image_width,$image_height);
imagecolorallocate($image,255,255,255);
$text_color=imagecolorallocate($image,0,0,0);
for($x=1;$x<=40;$x++)
{
$x1=rand(1,120);
$x2=rand(1,120);
$y1=rand(1,120);
$y2=rand(1,120);
imageline($image,$x1,$y1,$x2,$y2,$text_color);
}
imagettftext($image,$font_size,0,15,30,$text_color ,'MAGNETOB.TTF',$text);
imagejpeg($image);
?>
怎么了?
答案 0 :(得分:0)
您的localhost设置是什么? 000webhost
的设置是什么?
我的第一个猜测是可能存在区分大小写问题。您的文件名可能在文件中MAGNETOB.TTF
,但文件系统上的文件名magnetob.ttf
。
另一个问题可能是需要完整指定的文件路径。所以它就像:
/path/to/my/font/on/web/MAGNETOB.TTF
最终想法与文件权限相关联。网络服务器可以读取文件吗?