如何按功能打印验证码图像?

时间:2011-11-02 04:45:57

标签: php captcha

我创建了一个名为createCaptcha

的函数
function createCaptcha()
{
    $ranStr = md5(microtime());
    $ranStr = substr($ranStr, 0, 6);
    $_SESSION['cap_code'] = $ranStr;
    $newImage = imagecreatefromjpeg("views/cap_bg.jpg");
    $txtColor = imagecolorallocate($newImage, 0, 0, 0);
    imagestring($newImage, 5, 5, 5, $ranStr, $txtColor);
    imagejpeg($newImage);
}

但是当我调用此函数时,它会显示一些奇怪的字符!!!!

<label for="captchacheck">Word Verification : </label>
Type the characters in the picture below<br /><br/>

<div id="captchadiv">
<img id="captchaimg" src="<?php createCaptcha(); ?>" /></div><br /><br />
<input type="text" name="captchacheck" id="captchacheck" style="width:200px;"/>
<br /><br />

在函数内添加内容类型后,

    header("Content-type: image/jpeg");

整个页面成为图像

但我只想在img标签

中使用它

任何帮助都会感激不尽....

1 个答案:

答案 0 :(得分:3)

考虑一下,img标签的src属性指向图像文件,而不是图像数据。所以将createCaptcha()函数放在像captcha.php这样的文件中,并将src设置为。 <img id="captchaimg" src="captcha.php" />