验证码图像不生成

时间:2014-07-09 06:07:05

标签: php captcha gdlib

我有一块.php来为联系表单创建验证码。当我在本地xampp测试服务器上测试时,验证码生成正常。但是现在我已经将站点上传到我的远程服务器,验证码只生成后台但没有验证码。我无法弄清楚原因。 这是下面的php

<?php

session_start();

header("Expires: Tue, 01 Jan 2013 00:00:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

$chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$randomString = '';

for ($i = 0; $i < 5; $i++) 
{
    $randomString .= $chars[rand(0, strlen($chars)-1)];
}

$_SESSION['captcha'] = strtolower( $randomString );


$im = @imagecreatefrompng("captcha-background.png"); 


imagettftext($im, 20, 5, 10, 30, imagecolorallocate ($im, 0, 0, 0), 'larabiefont.ttf', $randomString);

header ('Content-type: image/png');
imagepng($im, NULL, 0);
imagedestroy($im);

?>  

1 个答案:

答案 0 :(得分:0)

$chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$randomString = '';

for ($i = 0; $i < 5; $i++) 
{
    $randomString .= $chars[rand(0, strlen($chars)-1)];
}

$_SESSION['captcha'] = strtolower( $randomString );
$im = imagecreatetruecolor(80, 24);
$bg = imagecolorallocate($im, 22, 86, 165);
$fg = imagecolorallocate($im, 255, 255, 255);
imagefill($im, 0, 0, $bg);
imagestring($im, 5, 5, 5,  $randomString, $fg);
header("Cache-Control: no-cache, must-revalidate");
header('Content-type: image/png');
$captchaUrl = 'captchaImage.png';
imagepng($im,$captchaUrl);
imagedestroy($im);

使用此代码创建验证码图像