如何用PHP生成随机验证码(附代码)
程序员文章站
2023-12-31 19:37:40
...
这篇文章主要讲了一个最简单的生成随机验证码图片的例子,有一定的参考价值,感兴趣的朋友可以看看。
代码如下:
<?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教程