Heim  >  Artikel  >  Backend-Entwicklung  >  php编纂生成酷炫验证码

php编纂生成酷炫验证码

WBOY
WBOYOriginal
2016-06-13 12:29:26808Durchsuche

php编写生成酷炫验证码

<span style="color: #008080;"> 1</span> <span style="color: #000000;">php</span><span style="color: #008080;"> 2</span> <span style="color: #800080;">$im</span>=imagecreate(200,100<span style="color: #000000;">);//生成画布</span><span style="color: #008080;"> 3</span> imagecolorallocate(<span style="color: #800080;">$im</span>,0,0,0<span style="color: #000000;">);//背景色</span><span style="color: #008080;"> 4</span> <span style="color: #800080;">$white</span>=imagecolorallocate(<span style="color: #800080;">$im</span>,<span style="color: #008080;">rand</span>(0,255),<span style="color: #008080;">rand</span>(0,255),<span style="color: #008080;">rand</span>(0,255<span style="color: #000000;">));//生成随机颜色</span><span style="color: #008080;"> 5</span> <span style="color: #0000ff;">for</span>(<span style="color: #800080;">$i</span>=0;<span style="color: #800080;">$i</span>$i++<span style="color: #000000;">)</span><span style="color: #008080;"> 6</span> <span style="color: #000000;">{</span><span style="color: #008080;"> 7</span>     imageline(<span style="color: #800080;">$im</span>,<span style="color: #008080;">rand</span>(0,200),<span style="color: #008080;">rand</span>(0,100),<span style="color: #008080;">rand</span>(0,200),<span style="color: #008080;">rand</span>(0,100),<span style="color: #800080;">$white</span><span style="color: #000000;">);//生成干扰线条元素</span><span style="color: #008080;"> 8</span> <span style="color: #000000;">}</span><span style="color: #008080;"> 9</span> <span style="color: #0000ff;">for</span>(<span style="color: #800080;">$i</span>=0;<span style="color: #800080;">$i</span>$i++<span style="color: #000000;">)</span><span style="color: #008080;">10</span> <span style="color: #000000;">{</span><span style="color: #008080;">11</span>     imagesetpixel(<span style="color: #800080;">$im</span>,<span style="color: #008080;">rand</span>(0,200),<span style="color: #008080;">rand</span>(0,100),<span style="color: #800080;">$white</span><span style="color: #000000;">);//生成干扰点元素</span><span style="color: #008080;">12</span> <span style="color: #000000;">}</span><span style="color: #008080;">13</span> <span style="color: #0000ff;">for</span>(<span style="color: #800080;">$i</span>=0,<span style="color: #800080;">$str</span>='';<span style="color: #800080;">$i</span>$i++<span style="color: #000000;">)//通过循环获得四个字符</span><span style="color: #008080;">14</span> <span style="color: #000000;">{</span><span style="color: #008080;">15</span>     <span style="color: #0000ff;">switch</span>(<span style="color: #008080;">rand</span>(1,3<span style="color: #000000;">))</span><span style="color: #008080;">16</span> <span style="color: #000000;">    {</span><span style="color: #008080;">17</span>         <span style="color: #0000ff;">case</span>'1':<span style="color: #008080;">18</span>         <span style="color: #800080;">$ch</span>=<span style="color: #008080;">rand</span>(0,9<span style="color: #000000;">);</span><span style="color: #008080;">19</span>         <span style="color: #0000ff;">break</span><span style="color: #000000;">; </span><span style="color: #008080;">20</span>         <span style="color: #0000ff;">case</span>'2':<span style="color: #008080;">21</span>         <span style="color: #800080;">$ch</span>=<span style="color: #008080;">sprintf</span>('%c',<span style="color: #008080;">rand</span>(97,122<span style="color: #000000;">));</span><span style="color: #008080;">22</span>         <span style="color: #0000ff;">break</span><span style="color: #000000;">;</span><span style="color: #008080;">23</span>         <span style="color: #0000ff;">case</span>'3':<span style="color: #008080;">24</span>         <span style="color: #800080;">$ch</span>=<span style="color: #008080;">sprintf</span>('%c',<span style="color: #008080;">rand</span>(65,90<span style="color: #000000;">));</span><span style="color: #008080;">25</span>         <span style="color: #0000ff;">break</span><span style="color: #000000;">;</span><span style="color: #008080;">26</span> <span style="color: #000000;">    }</span><span style="color: #008080;">27</span>         <span style="color: #800080;">$str</span>.=<span style="color: #800080;">$ch</span><span style="color: #000000;">;</span><span style="color: #008080;">28</span> <span style="color: #008080;">29</span> <span style="color: #000000;">}</span><span style="color: #008080;">30</span> imagettftext(<span style="color: #800080;">$im</span>,32,<span style="color: #008080;">rand</span>(0,15),55,70,<span style="color: #800080;">$white</span>,'c.ttc',<span style="color: #800080;">$str</span><span style="color: #000000;">);//在画布上输出字符串</span><span style="color: #008080;">31</span> <span style="color: #008080;">header</span>("Content-type:image/jpeg"<span style="color: #000000;">);</span><span style="color: #008080;">32</span> imagejpeg(<span style="color: #800080;">$im</span><span style="color: #000000;">);</span><span style="color: #008080;">33</span> imagedestroy(<span style="color: #800080;">$im</span><span style="color: #000000;">);</span><span style="color: #008080;">34</span> ?>

 

1楼陶士涵
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:步骤重载和重写的区别Nächster Artikel:怎的提高php运行速度