codeigniter中的图像验证码

时间:2013-05-22 06:13:45

标签: php codeigniter

我在CodeIgniter中做我的项目。我试图在索引文件中调用captcha.php文件。这个验证码文件在文件夹文件中。目前,验证码图像未查看。我需要在图像中显示随机数。

captcha.php

<?php
session_start();

$string = '';

for ($i = 0; $i < 5; $i++) {
    $string .= chr(rand(97, 122));
}

$_SESSION['random_number'] = $string;

$dir = 'fonts/';

$image = imagecreatetruecolor(165, 50);

// random number 1 or 2
$num = rand(1,2);
if($num==1)
{
    $font = "PT_SANS-BOLD_1.TTF"; // font style
}
else
{
    $font = "PT_SANS-ITALIC_1.TTF";// font style
}

// random number 1 or 2
$num2 = rand(1,2);
if($num2==1)
{
    $color = imagecolorallocate($image, 113, 193, 217);// color
}
else
{
    $color = imagecolorallocate($image, 163, 197, 82);// color
}

$white = imagecolorallocate($image, 255, 255, 255); // background color white
imagefilledrectangle($image,0,0,399,99,$white);

imagettftext ($image, 30, 0, 10, 40, $color, $dir.$font, $_SESSION['random_number']);

header("Content-type: image/png");
imagepng($image);

?>

in html file

<img src="<?= base_url();?>files/captcha.php" alt="" id="captcha" />

1 个答案:

答案 0 :(得分:0)

这不是您问题的答案,而是您可以选择的替代方案。

如此多的验证码脚本已经可用,您可以使用其中一些而不是再次编码。

检查this

如果您选择此选项,请确保将字体放在正确的位置。