GD Captcha安全表单即将出现空白

时间:2013-02-02 21:05:31

标签: php image captcha

所以我正在尝试为我的注册表单制作一个Captcha表单,我不确定会出现什么问题,因为无论何时打开页面,我都会看到当图像的网址未找到时显示的图像(我会发布图片,但我不能,因为这是我的第一个问题。)

我不确定我做错了什么,因为我正在按照教程进行操作,它似乎对他们有效。此外,没有显示错误,所以我不知道什么是错的。我的代码在这里:

<?php
session_start();
header('Content-type: image/jpeg');

$text = 4539;
$font_size = 4;
$image_height = 40;
$image_width = 200;
$image = imagecreate($image_width, $image_height);
imagecolorallocate($image, 255, 255, 255);
$font_colour = imagecolorallocate($image, 0, 0, 0);
// Set the enviroment variable for GD
putenv('GDFONTPATH=' . realpath('.'));

// Name the font to be used (note the lack of the .ttf extension)
$font = 'font';
imagettftext($image, 0, 15, 30, $font_colour, $font, $text);
?>

当我知道代码工作时,$ text变量将被设置为随机,该值是静态的,用于测试目的。我将不胜感激任何帮助。提前致谢

1 个答案:

答案 0 :(得分:1)

您需要在向其添加文本后将图像输出到浏览器:

imagettftext($image, 0, 15, 30, $font_colour, $font, $text);
imagepng($image);
imagedestroy($image);

可能不是严格需要销毁,因为php进程在脚本完成后退出,但是examples有它,所以我把它包括在内。

此外,您可以使用imagepng()imagegif()imagejpeg()选择png,gif和jpeg图片格式。这里的png格式应该不错。