Home  >  Article  >  Backend Development  >  php-generate verification code php verification code download php email verification code php website verification

php-generate verification code php verification code download php email verification code php website verification

WBOY
WBOYOriginal
2016-07-29 08:50:451021browse
<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>

The above introduces php-generated verification code, including verification code and PHP content. I hope it will be helpful to friends who are interested in PHP tutorials.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn