首頁 >後端開發 >php教程 >產生驗證碼 隨機幹擾php實現

產生驗證碼 隨機幹擾php實現

WBOY
WBOY原創
2016-07-25 08:46:031001瀏覽
  1. session_start ();
  2. header ( 'Content-type: image/png' );
  3. //创建图片
  4. $im = imagecreate($x=130,$y=45 );
  5. $bg = imagecolorallocate($im,rand(50,200),rand(0,155),rand(0,155)); //第一次对 imagecolorallocate() 的调用会给基于调色板的图像填充背景色
  6. $fontColor = imageColorAllocate ( $im, 255, 255, 255 ); //字体颜色
  7. $fontstyle = 'rock.ttf'; //字体样式,这个可以从c:windowsFonts文件夹下找到,我把它放到和authcode.php文件同一个目录,这里可以替换其他的字体样式
  8. //产生随机字符
  9. for($i = 0; $i < 4; $i ) {
  10. $randAsciiNumArray = array (rand(48,57),rand(65,90));
  11. $randAsciiNum = $randAsciiNumArray [rand ( 0, 1 )];
  12. $randStr = chr ( $randAsciiNum );
  13. imagettftext($im,30,rand(0,20)-rand(0,25),5 $i*30,rand(30,35),$fontColor,$fontstyle,$randStr);
  14. $authcode .= $randStr;
  15. }
  16. $_SESSION['authcode'] = $randFourStr;//用户和用户输入的验证码做比较
  17. //干扰线
  18. for ($i=0;$i<8;$i ){
  19. $lineColor = imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
  20. imageline ($im,rand(0,$x),0,rand(0,$x),$y,$lineColor);
  21. }
  22. //干扰点
  23. for ($i=0;$i<250;$i ){
  24. imagesetpixel($im,rand(0,$x),rand(0,$y),$fontColor);
  25. }
  26. imagepng($im);
  27. imagedestroy($im);
  28. ?>
复制代码

驗證碼, php


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