Heim >php教程 >php手册 >如何用PHP生成随机验证码(附代码)

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

PHPz
PHPzOriginal
2016-06-06 20:32:511240Durchsuche

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

代码如下:

<?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教程

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn