总结
豆包 AI 助手文章总结

PHP图形验证码的具体实现方法_PHP教程

php中文网
发布: 2016-07-15 13:28:36
原创
797人浏览过

我们现在在网站注册等地方经常会见到需要你输入验证码的请款,它就是将随机数字或符号以图片的形式展现在用户面前,并提供验证后才能使用相关功能。今天我们就介绍具体实现代码如下:

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

<OL class=dp-xml><LI class=alt><SPAN><STRONG><FONT color=#006699><SPAN class=tag><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> </SPAN></SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>class rndnum{  </SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>function rnd(){  </SPAN><LI class=""><SPAN>srand((double)microtime()*1000000);  </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>rnd_number</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>array</FONT></SPAN><SPAN>(  </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>1</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'1',  </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>2</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'2',  </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>3</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'3',  </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>4</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'4',  </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>5</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'5',  </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>6</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'6',  </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>7</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'7',  </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>8</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'8',  </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>9</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'9',  </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>10</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'a',  </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>11</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'b',  </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>12</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'c',  </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>13</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'d',  </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>14</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'e',  </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>15</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'f',  </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>16</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'g',  </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>17</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'h',  </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>18</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'i',  </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>19</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'j',  </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>20</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'k',  </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>21</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'l',  </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>22</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'m',  </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>23</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'n',  </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>24</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'o',  </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>25</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'p',  </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>26</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'q',  </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>27</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'r',  </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>28</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'s',  </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>29</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'t',  </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>30</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'u',  </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>31</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'v',  </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>32</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'w',  </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>33</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'x',  </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>34</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'y',  </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>35</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'z',  </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>36</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'0'  </SPAN></SPAN><LI class=""><SPAN>);  </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>result</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>array_rand</FONT></SPAN><SPAN>($rnd_number,6);  </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>j</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>count</FONT></SPAN><SPAN>($result);  </SPAN></SPAN><LI class=alt><SPAN>for ($</SPAN><SPAN class=attribute><FONT color=#ff0000>i</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>0</FONT></SPAN><SPAN>;$i</SPAN><SPAN class=tag><STRONG><FONT color=#006699><</FONT></STRONG></SPAN><SPAN>$j;$i++) {  </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>re.</FONT></SPAN><SPAN>=$rnd_number[$result[$i]];  </SPAN></SPAN><LI class=alt><SPAN>}  </SPAN><LI class=""><SPAN>//$</SPAN><SPAN class=attribute><FONT color=#ff0000>re</FONT></SPAN><SPAN>=$rnd_number[$result[1]].$rnd_number[$result[2]].$rnd_number[$result[3]].$rnd_number[$result[4]].$rnd_number[$result[5]].$rnd_number[$result[6]].$rnd_number[$result[7]];  </SPAN></SPAN><LI class=alt><SPAN>//return array_keys($result);  </SPAN><LI class=""><SPAN>return $re;  </SPAN><LI class=alt><SPAN>}  </SPAN><LI class=""><SPAN>}  </SPAN><LI class=alt><SPAN>/*用法  </SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>rndnum</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>new</FONT></SPAN><SPAN> rndnum();  </SPAN></SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>num</FONT></SPAN><SPAN>=$rndnum-</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>rnd();  </SPAN></SPAN><LI class=""><SPAN>echo $num;  </SPAN><LI class=alt><SPAN>*/  </SPAN><LI class=""><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></FONT></STRONG></SPAN><SPAN> </SPAN></LI></OL>
登录后复制

生成PHP图形验证码的图片,将随机数填充到里边:

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

<OL class=dp-xml><LI class=alt><SPAN><STRONG><FONT color=#006699><SPAN class=tag><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> </SPAN></SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>Header("Content-type: image/PNG");   </SPAN><LI class=""><SPAN>require_once("rndnum.php");  </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>rndnum</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>new</FONT></SPAN><SPAN> rndnum();  </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>authnum</FONT></SPAN><SPAN>=$rndnum-</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>rnd();  </SPAN></SPAN><LI class=alt><SPAN>session_start();  </SPAN><LI class=""><SPAN>$_SESSION["extrra_code"]=$authnum;  </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>im</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>imagecreate</FONT></SPAN><SPAN>(72,20);   </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>black</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>ImageColorAllocate</FONT></SPAN><SPAN>($im, 0,0,0);   </SPAN></SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>white</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>ImageColorAllocate</FONT></SPAN><SPAN>($im, 255,255,255);   </SPAN></SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>gray</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>ImageColorAllocate</FONT></SPAN><SPAN>($im, 200,200,200);   </SPAN></SPAN><LI class=alt><SPAN>imagefill($im,0,0,$gray);    </SPAN><LI class=""><SPAN>imagestring($im,5,10,3,$authnum,$black);   </SPAN><LI class=alt><SPAN>for($</SPAN><SPAN class=attribute><FONT color=#ff0000>i</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>0</FONT></SPAN><SPAN>;$i</SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>200</SPAN></FONT></STRONG><SPAN>;$i++)   //加入干扰象素   </SPAN></SPAN><LI class=""><SPAN>{   </SPAN><LI class=alt><SPAN>    $</SPAN><SPAN class=attribute><FONT color=#ff0000>randcolor</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>ImageColorallocate</FONT></SPAN><SPAN>($im,rand(0,255),rand(0,255),rand(0,255));  </SPAN></SPAN><LI class=""><SPAN>    imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);   </SPAN><LI class=alt><SPAN>}   </SPAN><LI class=""><SPAN>ImagePNG($im);   </SPAN><LI class=alt><SPAN>ImageDestroy($im);   </SPAN><LI class=""><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></FONT></STRONG></SPAN><SPAN> </SPAN></SPAN></LI></OL>
登录后复制

以上就是全部PHP图形验证码的实现代码,希望对大家有所帮助。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446423.htmlTechArticle我们现在在网站注册等地方经常会见到需要你输入验证码的请款,它就是将随机数字或符号以图片的形式展现在用户面前,并提供验证后才...
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号