我有这个代码,它应该生成一个随机数的验证码图像,它在localhost上工作正常,但不在我的主机上,任何人都可以帮忙吗?谁能告诉我哪里出错了?
<?php
session_start();
header('Content-type: image/jpeg');
$text= $_SESSION['secure'];
$font_size =30;
$image_width= 110;
$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<=30; $x++){
$x1 = rand(1,100);
$x2 = rand(1,100);
$y1 = rand(1,100);
$y2 = rand(1,100);
imageline($image, $x1, $x2, $y1, $y2, $text_color);
}
imagettftext($image, $font_size, 0, 15, 30, $text_color, 'font.ttf', $text);
imagejpeg($image);
?>
然后我将包含上述代码的文件包含在一个新的html文件中,其中我有我的表单并调用这样的图像:
<img src="generate.php"/>
答案 0 :(得分:1)
使用字符串hello
测试您的脚本并且它可以正常运行
我非常肯定问题是PHP
无法找到字体..尝试使用完整的系统路径
尝试
$font = dirname ( __FILE__ ) . "/verdana.ttf" ;
if(!is_file($font))
{
die("Missing Font");
}
答案 1 :(得分:0)
确保脚本中没有前导空格或换行符。在尝试显示图像之前输出的任何文本都会导致其失败。