欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

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

程序员文章站 2022-05-10 09:33:32
...

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

代码如下:

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

【相关教程推荐】

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

相关标签: php 随机验证码