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

PHP
MySQL安全性指南
长沙发上的对话(一)
长沙发上的对话(二)
长沙发上的对话(三)
长沙发上的对话(四)
《PHP程序设计》序
《PHP程序设计》第一章 什么是PHP?
PHP4的新特征
php3的ODBC函数
初学入门 PHP 和 MySQL
《PHP程序设计》 第二章 安装PHP
《PHP程序设计》 第三章 PHP中的数据处理
《PHP程序设计》 第四章 程序控制
《PHP程序设计》 第五章 中场一:数据库连接
PHP4中的SESSION管理
开发大型PHP项目的方法(一)
开发大型PHP项目的方法(二)
开发大型PHP项目的方法(三)
开发大型PHP项目的方法(四)
开发大型PHP项目的方法(五)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 167 ::
收藏到网摘: 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);
}
};
?>