>  기사  >  백엔드 개발  >  php编纂生成酷炫验证码

php编纂生成酷炫验证码

WBOY
WBOY원래의
2016-06-13 12:29:26808검색

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楼陶士涵
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.