首頁  >  文章  >  後端開發  >  php 實作驗證碼製作

php 實作驗證碼製作

WBOY
WBOY原創
2016-08-08 09:22:58947瀏覽

先給看下 大致的效果

那麼接下來的就直接貼代碼吧

<?<span>php
    
    </span><span>$image</span> = imagecreatetruecolor(100, 30); <span>//</span><span>创建画布</span><span>$imagecolor</span> = imagecolorallocate(<span>$image</span>, 255, 255, 255);  <span>//</span><span>背景色</span><span>
    imagefill(</span><span>$image</span>, 0, 0, <span>$imagecolor</span>);  <span>//</span><span>填充背景色</span><span>for</span>(<span>$i</span>=0;<span>$i</span><4;<span>$i</span>++ ){                  <span>//</span><span>循环4位数</span><span>$fontsize</span> = 6<span>;
        </span><span>$fontcolor</span> = imagecolorallocate(<span>$image</span>, <span>rand</span>(0, 200), <span>rand</span>(0, 200), <span>rand</span>(0, 200<span>));
        </span><span>$fontcontent</span> = <span>rand</span>(0, 9<span>);
        
        </span><span>$x</span> = <span>$i</span>*100/4 + <span>rand</span>(5, 15<span>);
        </span><span>$y</span> = <span>rand</span>(5, 10<span>);
        
        imagestring(</span><span>$image</span>, <span>$fontsize</span>, <span>$x</span>, <span>$y</span>, <span>$fontcontent</span>, <span>$fontcolor</span><span>);
    }
    
    
    
    </span><span>for</span>(<span>$i</span>=0;<span>$i</span><200;<span>$i</span>++ ){              <span>//</span><span>循环 添加干扰点</span><span>$pointcolor</span> = imagecolorallocate(<span>$image</span>, <span>rand</span>(50, 200), <span>rand</span>(50, 200), <span>rand</span>(50, 200<span>));
        
        </span><span>$x</span> = <span>rand</span>(1, 99<span>);
        </span><span>$y</span> = <span>rand</span>(1, 29<span>);
        
        imagesetpixel(</span><span>$image</span>, <span>$x</span>, <span>$y</span>, <span>$pointcolor</span><span>);
    }
    
    
    
    </span><span>for</span>(<span>$i</span>=0;<span>$i</span><3;<span>$i</span>++){                <span>//</span><span>循环 添加干扰线    </span><span>$linecolor</span> = imagecolorallocate(<span>$image</span>, <span>rand</span>(100, 250), <span>rand</span>(100, 250), <span>rand</span>(100, 250<span>));
        
        </span><span>$x1</span> = <span>rand</span>(1, 25<span>);
        </span><span>$x2</span> = <span>rand</span>(50, 75<span>);
        
        </span><span>$y1</span> = <span>rand</span>(1, 15<span>);
        </span><span>$y2</span> = <span>rand</span>(15, 25<span>);
        
        imageline(</span><span>$image</span>, <span>$x1</span>, <span>$y1</span>, <span>$x2</span>, <span>$y2</span>, <span>$linecolor</span><span>);
    }
    
    
    
    </span><span>header</span>("content-type:image/png"<span>);
    
    imagepng(</span><span>$image</span><span>);
    
    imagedestroy(</span><span>$image</span><span>);

</span>?>

以上就介紹了php 實作驗證碼製作,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn