首页  >  文章  >  php教程  >  如何用PHP生成随机验证码(附代码)

如何用PHP生成随机验证码(附代码)

PHPz
PHPz原创
2016-06-06 20:32:511214浏览

这篇文章主要讲了一个最简单的生成随机验证码图片的例子,有一定的参考价值,感兴趣的朋友可以看看。

代码如下:

<?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(&#39;Content-type: image/png&#39;); 
imagepng($im); 
imagedestroy($im); 
} 
}; 
?>

【相关教程推荐】

1. php编程从入门到精通全套视频教程
2. php从入门到精通 
3. bootstrap教程

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn