php-生成验证码 php验证码下载 php邮箱验证码 php网站验证

php中文网
发布: 2016-07-29 08:50:45
原创
1252人浏览过

<span><?php
</span><span><em>/**
</em></span><span><em> * Created by PhpStorm.
</em></span><span><em> * User: 
</em></span><span><em> * Date: 2016/4/20
</em></span><span><em> * Time: 20:07
</em></span><span><em> */
</em></span><span><em></em></span><span>session_start()</span><span>;
</span><span>//</span><span>画一张背景图
</span><span>$image</span><span>=imagecreatetruecolor(</span><span>100</span><span>,</span><span>30</span><span>)</span><span>;
</span><span>$bgcolor</span><span>=imagecolorallocate(</span><span>$image</span><span>,</span><span>255</span><span>,</span><span>255</span><span>,</span><span>255</span><span>)</span><span>;
</span><span>imagefill(</span><span>$image</span><span>,</span><span>0</span><span>,</span><span>0</span><span>,</span><span>$bgcolor</span><span>)</span><span>;
</span><span>/*//</span><span>生成四位随机数字</span><span>   for($i=0;$i<4;$i&#43;&#43;){
</span><span>      $f
</span><span>      $f
</span><span>      $f
</span><span>      //</span><span>数字的显示位置</span><span>      $x=($i*100/4)&#43;rand(5,9);
</span><span>      $y=rand(5,10);
</span><span>      imagestring($image,$fonsize,$x,$y,$fontcontent,$foncolor);
</span><span>   }*/
</span><span>$captch_code</span><span>=</span><span>''</span><span>;
</span><span>//</span><span>生成数字字母混合验证码
</span><span>for</span><span>(</span><span>$i</span><span>=</span><span>0</span><span>;</span><span>$i</span><span><</span><span>4</span><span>;</span><span>$i</span><span>&#43;&#43;){
</span><span>$fonsize</span><span>=</span><span>6</span><span>;
</span><span>$fontcolor</span><span>=imagecolorallocate(</span><span>$image</span><span>,</span><span>rand(</span><span>0</span><span>,</span><span>120</span><span>)</span><span>,</span><span>rand(</span><span>0</span><span>,</span><span>120</span><span>)</span><span>,</span><span>rand(</span><span>0</span><span>,</span><span>120</span><span>))</span><span>;
</span><span>$data</span><span>=</span><span>"abcdefghjklmnpqrstuvwxy13456789"</span><span>;
</span><span>$fontcontent</span><span>=substr(</span><span>$data</span><span>,</span><span>rand(</span><span>0</span><span>,</span><span>strlen(</span><span>$data</span><span>))</span><span>,</span><span>1</span><span>)</span><span>;
</span><span>$captch_code</span><span>.=</span><span>$fontcontent</span><span>;
</span><span>//</span><span>验证码的位置
</span><span>$x</span><span>=(</span><span>$i</span><span>*</span><span>100</span><span>/</span><span>4</span><span>)&#43;rand(</span><span>5</span><span>,</span><span>10</span><span>)</span><span>;
</span><span>$y</span><span>=rand(</span><span>5</span><span>,</span><span>10</span><span>)</span><span>;
</span><span>//
</span><span>imagestring(</span><span>$image</span><span>,</span><span>$fonsize</span><span>,</span><span>$x</span><span>,</span><span>$y</span><span>,</span><span>$fontcontent</span><span>,</span><span>$fontcolor</span><span>)</span><span>;
</span><span>}
</span><span>$_SESSION</span><span>[</span><span>'authcode'</span><span>]=</span><span>$captch_code</span><span>;
</span><span>//</span><span>添加干扰元素</span><span>:</span><span>点
</span><span>for</span><span>(</span><span>$i</span><span>=</span><span>0</span><span>;</span><span>$i</span><span><</span><span>200</span><span>;</span><span>$i</span><span>&#43;&#43;){
</span><span>$pointcolor</span><span>=imagecolorallocate(</span><span>$image</span><span>,</span><span>rand(</span><span>55</span><span>,</span><span>200</span><span>)</span><span>,</span><span>rand(</span><span>55</span><span>,</span><span>200</span><span>)</span><span>,</span><span>rand(</span><span>55</span><span>,</span><span>200</span><span>))</span><span>;
</span><span>imagesetpixel(</span><span>$image</span><span>,</span><span>rand(</span><span>1</span><span>,</span><span>99</span><span>)</span><span>,</span><span>rand(</span><span>1</span><span>,</span><span>99</span><span>)</span><span>,</span><span>$pointcolor</span><span>)</span><span>;
</span><span>}
</span><span>//</span><span>添加干扰元素:线
</span><span>for</span><span>(</span><span>$i</span><span>=</span><span>0</span><span>;</span><span>$i</span><span><</span><span>3</span><span>;</span><span>$i</span><span>&#43;&#43;){
</span><span>$linecolor</span><span>=imagecolorallocate(</span><span>$image</span><span>,</span><span>rand(</span><span>80</span><span>,</span><span>220</span><span>)</span><span>,</span><span>rand(</span><span>80</span><span>,</span><span>220</span><span>)</span><span>,</span><span>rand(</span><span>80</span><span>,</span><span>220</span><span>))</span><span>;
</span><span>imageline(</span><span>$image</span><span>,</span><span>rand(</span><span>1</span><span>,</span><span>99</span><span>)</span><span>,</span><span>rand(</span><span>1</span><span>,</span><span>29</span><span>)</span><span>,</span><span>rand(</span><span>1</span><span>,</span><span>99</span><span>)</span><span>,</span><span>rand(</span><span>1</span><span>,</span><span>29</span><span>)</span><span>,</span><span>$linecolor</span><span>)</span><span>;
</span><span>}
</span><span>   header(</span><span>'content-type: image/png'</span><span>)</span><span>;
</span><span>imagepng(</span><span>$image</span><span>)</span><span>;
</span><span>imagedestroy(</span><span>$image</span><span>)</span><span>;
</span><span>?></span>
登录后复制

以上就介绍了php-生成验证码,包括了验证码,php方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

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

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

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