php 生成随机验证码图片代码

yipeiwu_com6年前PHP代码库

复制代码 代码如下:

<?php
/** 默认首页 **/
class DefaultController extends AppController
{
public function index() {
$len = 5;
$str = "ABCDEFGHIJKLNMPQRSTUVWXYZ123456789";

$im = imagecreatetruecolor ( 70, 20 );
$bgc = imagecolorallocate($im, 255, 255, 255);
$bgtxt = imagecolorallocate($im, 220, 220, 220);

//随机调色板
$colors = array(
imagecolorallocate($im, 255, 0, 0),
imagecolorallocate($im, 0, 200, 0),
imagecolorallocate($im, 0, 0, 255),
imagecolorallocate($im, 0, 0, 0),
imagecolorallocate($im, 255, 128, 0),
imagecolorallocate($im, 255, 208, 0),
imagecolorallocate($im, 98, 186, 245),
);

//填充背景色
imagefill($im, 0, 0, $bgc);

//随机获取数字
$verify = "";
while (strlen($verify) < $len) {
$i = strlen($verify);
$random = $str[rand(0, strlen($str))];
$verify .= $random;

//绘制背景文字
imagestring($im, 6, ($i*10)+3, rand(0,6), $random, $bgtxt);
//绘制主文字信息
imagestring($im, 6, ($i*10)+3, rand(0,6), $random, $colors[rand(0, count($colors)-1)]);
}

//添加随机杂色
for($i=0; $i<100; $i++) {
$color = imagecolorallocate($im, rand(50,220), rand(50,220), rand(50,220));
imagesetpixel($im, rand(0,70), rand(0,20), $color);
}

//将验证码存入$_SESSION中
sess("verify", $verify);

//输出图片并释放缓存
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
}
};
?>

相关文章

PHP写API输出的时用echo的原因详解

写php API写的很少,最近才开始接口的写法,在框架里面一直用return,但是在api中retrun就失效了,为什么呢? 网友给出的答案: 1.return 一般用于函数或方法的返回...

php返回json数据函数实例

本文实例讲述了php返回json数据函数的用法,分享给大家供大家参考。具体方法如下: json_encode()函数用法: echo json_encode(array('a'=&g...

php命令行(cli)模式下报require 加载路径错误的解决方法

今天,同事突然告诉我,我写的一个做计划任务的php脚本执行总是不成功。   脚本本身很简单,里面只有包含了几个库文件并执行了一个函数,函数应该没有错误,这个函数在别处也调用过,没有问题。...

php中的四舍五入函数代码(floor函数、ceil函数、round与intval)

floor函数和ceil函数互相搭配起来可以使php 处理的数据更加真实可靠。 一、先来看floor函数: 语法: float floor ( float value ) 说明: 返回不...

PHP数据库处理封装类实例

本文实例讲述了PHP数据库处理封装类。分享给大家供大家参考,具体如下: MySQL的操作相关类,检查并使用了mysqli <?php //sampl...