PageRenderTime 38ms CodeModel.GetById 12ms RepoModel.GetById 1ms app.codeStats 0ms

/htdocs/yanzheng.php

https://bitbucket.org/surgesoft_/picpic
PHP | 59 lines | 35 code | 13 blank | 11 comment | 6 complexity | 859fd3f4b6a0388203efe178053a93d4 MD5 | raw file
  1. <?php
  2. /*********************************
  3. * Code by Gently
  4. * 24/07/07
  5. *严正声明:验证码为程序随机生成,“某种巧合”的词语组合属于正常现象,
  6. *某些别有用心的人不要借题发挥!
  7. *********************************/
  8. session_start();
  9. header("Content-type: image/PNG");
  10. $w=180;
  11. $h=60;
  12. $fontface="ABF.ttf"; //字体文件,请自行指定
  13. $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
  14. $code="";
  15. for($i=0;$i<4;$i++){
  16. $Xi=mt_rand(0,strlen($str)/2);
  17. if($Xi%2) $Xi+=1;
  18. $code.=substr($str,$Xi,2);
  19. }
  20. for($i=0;$i<4;$i++){
  21. $c.=iconv("GB2312","UTF-8",substr($code,$i*2,2));
  22. }
  23. $_SESSION['code']=$c; //赋值给SESSION
  24. $im=imagecreatetruecolor($w,$h);
  25. $bkcolor=imagecolorallocate($im,250,250,250);
  26. imagefill($im,0,0,$bkcolor); /***添加干扰***/
  27. for($i=0;$i<15;$i++){
  28. $fontcolor=imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
  29. imagearc($im,mt_rand(-10,$w),mt_rand(-10,$h),mt_rand(30,300),mt_rand(20,200),55,44,$fontcolor);
  30. }
  31. for($i=0;$i<255;$i++){
  32. $fontcolor=imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
  33. imagesetpixel($im,mt_rand(0,$w),mt_rand(0,$h),$fontcolor);
  34. } /***********内容*********/
  35. for($i=0;$i<4;$i++){
  36. $fontcolor=imagecolorallocate($im,mt_rand(0,120),mt_rand(0,120),mt_rand(0,120)); //这样保证随机出来的颜色较深。
  37. $codex=iconv("GB2312","UTF-8",substr($code,$i*2,2));
  38. imagettftext($im,mt_rand(20,24),mt_rand(-60,60),40*$i+20,mt_rand(30,35),$fontcolor,$fontface,$codex);
  39. }
  40. imagepng($im);
  41. ?>