当前位置: 首页 > 图文教程 > 网络编程 > PHP > php 生成随机验证码图片代码

PHP
PHPbb2.0.15远程命令执行漏洞利用程序
PHP:404错误陷阱并email给管理员的程序
如何加速你的PHP程序
谈网页编程PHP语言的发展
用PHP和MySQL保存和输出图片
虚拟主机中对PHP的特殊设置
SSI使用详解(一)
PHP安装攻略:安装并配置PHP
Php利用java解析xml
使用PHP实现动态网页
使用PHP和XSL stylesheets转换XML文档
自己写的mysql类
在php中输出html代码
关于session的问题集锦解决方案
Win XP下全新安装Apache2,PHP5,MYSQL5
用PHP写FTP文件上传
几个php技巧
身份证方面的函数
php+mysql扎实个人基本功
判断字符串emailAddr是否为合法的email格式

PHP 中的 php 生成随机验证码图片代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 134 ::
收藏到网摘: n/a

一个最简单的生成随机验证码图片的例子

复制代码 代码如下:

<?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);
}
};
?>