网站大量收购闲置独家精品文档,联系QQ:2885784924

php如何实现验证码.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
php如何实现验证码课案

php如何实现验证码 验证码在表单实现越来越多了,但是用js的写的验证码,总觉得不方便,所以学习了下php实现的验证码。 验证码在表单实现越来越多了,但是用js的写的验证码,总觉得不方便,所以学习了下php实现的验证码。好吧,其实是没有事情干,但是又不想浪费时间,所 以学习了下php实现验证码。正所谓,技多不压身。而且,也可以封装成一个函数,以后使用的时候也是很方便的,当然现在未封装。 现在来说说简单的纯数字验证码吧。 如果是初学者,建议按照我代码的注释?//数字 ?一步步来。最简单的方法,还是把整个代码复制走了。 新建一个captcha.php: php? ????//10设置session,必须处于脚本最顶部? ????session_start();? ? ????$image?=?imagecreatetruecolor(100,?30);????????//1设置验证码图片大小的函数? ????//5设置验证码颜色?imagecolorallocate(int?im,?int?red,?int?green,?int?blue);? ????$bgcolor?=?imagecolorallocate($image,255,255,255);?//#ffffff? ????//6区域填充?int?imagefill(int?im,?int?x,?int?y,?int?col)??(x,y)?所在的区域着色,col?表示欲涂上的颜色? ????imagefill($image,?0,?0,?$bgcolor);? ????//10设置变量? ????$captcha_code?=?;? ????//7生成随机数字? ????for($i=0;$i4;$i++){? ????????//设置字体大小? ????????$fontsize?=?6;????????? ????????//设置字体颜色,随机颜色? ????????$fontcolor?=?imagecolorallocate($image,?rand(0,120),rand(0,120),?rand(0,120));????????????//0-120深颜色? ????????//设置数字? ????????$fontcontent?=?rand(0,9);? ????????//10.=连续定义变量? ????????$captcha_code?.=?$fontcontent;????? ????????//设置坐标? ????????$x?=?($i*100/4)+rand(5,10);? ????????$y?=?rand(5,10);? ? ????????imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);? ????}? ????//10存到session? ????$_SESSION[authcode]?=?$captcha_code;? ????//8增加干扰元素,设置雪花点? ????for($i=0;$i200;$i++){? ????????//设置点的颜色,50-200颜色比数字浅,不干扰阅读? ????????$pointcolor?=?imagecolorallocate($image,rand(50,200),?rand(50,200),?rand(50,200));????????? ????????//imagesetpixel?—?画一个单一像素? ????????imagesetpixel($image,?rand(1,99),?rand(1,29),?$pointcolor);? ????}? ????//9增加干扰元素,设置横线? ????for($i=0;$i4;$i++){? ????????//设置线的颜色? ????????$linecolor?=?imagecolorallocate($image,rand(80,220),?rand(80,220),rand(80,220));? ????????//设置线,两点一线? ????????imageline($image,rand(1,99),?rand(1,29),rand(1,99),?rand(1,29),$linecolor);? ????}? ? ????//2设置头部,image/png? ????header(Content-Type:?image/png);? ????//3imagepng()?建立png图形函数? ????imagepng($image);? ????//4imagedestroy()?结束图形函数??销毁$image? ????imagedestro

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档