php验证码--字符
来源:互联网 发布:淘宝女装店铺排行榜 编辑:程序博客网 时间:2024/05/29 16:11
字符验证码的制作分五步:
1.生成图像
2.生成随机数
3.制作干扰点、线
4.输出图像
5.销毁图像
下面直接上代码
服务器端:
<?phpsession_start();$width = 100;$length = 30;$captch_code = '';$image = imagecreatetruecolor($width, $length);$color = imagecolorallocate($image, 255, 255, 255);imagefill($image, 0, 0, $color);//产生随机数for($i=0; $i<4; $i++){$fontsize = 6; //?$fontcolor = imagecolorallocate($image, rand(0,120), rand(0,120), rand(0,120));$data = "abcdefghijklmnopqrstuvwxyz1234567890";$fontcontent = substr($data,rand(0,strlen($data)),1);$captch_code .= $fontcontent;$x = ($i*$width/4) + rand($length/6,$length/3);$y = rand($length/6,$length/3);imagestring($image, $fontsize, $x, $y, $fontcontent, $fontcolor);}$_SESSION['authcode'] = $captch_code;//干扰点for($i=0; $i<200; $i++) {$pointcolor = imagecolorallocate($image, rand(50,200), rand(50,200), rand(50,200));imagesetpixel($image, rand(1,$width-1), rand(1,$width-1), $pointcolor);}//干扰线for($i=0; $i<5; $i++){$linecolor = imagecolorallocate($image, rand(80,220), rand(80,220), rand(80,220));imageline($image, rand(1,$width-1), rand(1,$width/3-1), rand(1,$width-1), rand(1,$width/3-1), $linecolor);}header("content-type: image/png");imagepng($image);imagedestroy($image);
<?phpif(isset($_REQUEST['authcode'])){session_start();if(strtolower($_REQUEST['authcode']) == $_SESSION['authcode']){echo '<font color="#0000cc">输入正确</font>';}else{echo '<font color="#cc0000"><b>输入错误</b></font>';}exit();}?><!DOCTYPE html><html><head><title></title></head><body><form method="post" action="./form.php"><p>验证码图片:<img id="captch_code" border="1" src="./captcha.php?r=<?php echo rand();?>" witdh="100px" /><a href="javascript:void(0)" onclick="document.getElementById('captch_code').src='./captcha.php?r='+Math.random()">换一个</a> </p><p>图片内容:<input type="text" name="authcode" value="" /> </p><p><input type="submit" value="提交" style="padding:6px 20px;"></p></form></body></html>
结果图:
1 0
- php验证码--字符
- PHP验证码之字符验证
- 登录字符验证码
- php 验证码可设置字符大小,颜色,可换背景图,可设置扭曲度
- 生成随即字符验证码
- php图形验证码
- php 验证码
- PHP 验证码
- PHP图片验证码
- php验证码类
- php实现验证码
- PHP实现验证码
- PHP实现验证码
- PHP生成验证码
- PHP验证码
- php验证码类
- PHP 生成验证码
- php 验证码
- android之布局优化
- [LeetCode][Java] Longest Consecutive Sequence
- CMemDC
- sql——存储过程&触发器(2/3)
- continue和break的使用注意
- php验证码--字符
- youphp的模板使用
- 【IDE-Visual Studio】引用ms32.lib 编译时发现链接错误
- sybase备份恢复
- 单循环链表
- 【Java】日志知识总结和常用组合配置(commons-logging,log4j,slf4j,logback)
- HDOJ 2120 Ice_cream's world I(并查集)
- LeetCode_222Count Complete Tree Nodes
- jQuery学习之元素包装集