- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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)