0

HTML

<form action="submit.php" method="post"> 
Comment: <textarea name="coment"></textarea> 
Enter Code <img src="captcha.php"><input type="text" name="vercode" /> 
<input type="submit" name="Submit" value="Submit" /> 
</form>

验证码.php

<?php 


error_reporting(E_ALL);
ini_set('display_errors', 'On');
session_start(); 
header( "Content-type: image/jpeg");
$text = rand(10000,99999); 
$_SESSION["vercode"] = $text; 
$height = 25; 
$width = 65; 
$image_p = imagecreate($width, $height); 
$black = imagecolorallocate($image_p, 0, 0, 0); 
$white = imagecolorallocate($image_p, 255, 255, 255); 
$font_size = 14; 

imagestring($image_p, $font_size, 5, 5, $text, $white); 
imagejpeg($image_p, null, 80); 
?>

我在我的电脑上安装了 xammp,当我运行它时,我面临的问题是 captcha.php 被触发,但它没有返回图像作为响应。我尝试搜索许多论坛,上面的 php 代码似乎与其他所有人都可以正常工作。我怀疑我在使用 xampp 设置本地环境时可能做错了什么。

4

1 回答 1

1

您必须通过设置正确的标题告诉浏览器您正在发送图像。在这种情况下,它将header('Content-Type: image/jpeg');位于代码的第一行。

于 2013-09-19T06:15:05.610 回答