欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP数字运算验证码

程序员文章站 2022-06-03 19:25:51
...
  1. getValidate(100,30);
  2. function getValidate($w,$h){
  3. $img = imagecreate($w,$h);
  4. $gray = imagecolorallocate($img,255,255,255);
  5. $black = imagecolorallocate($img,rand(0,200),rand(0,200),rand(0,200));
  6. $red = imagecolorallocate($img, 255, 0, 0);
  7. $white = imagecolorallocate($img, 255, 255, 255);
  8. $green = imagecolorallocate($img, 0, 255, 0);
  9. $blue = imagecolorallocate($img, 0, 0, 255);
  10. imagefilledrectangle($img, 0, 0, 100, 30, $black);
  11. for($i = 0;$i imagesetpixel($img, rand(0,$w), rand(0,$h), $gray);
  12. }
  13. $num1 = rand(1,99);
  14. $num2 = rand(1,99);
  15. imagestring($img, 5, 5, rand(1,10), $num1, $red);
  16. imagestring($img,5,30,rand(1,10),getRand(), $white);
  17. imagestring($img,5,45,rand(1,10),$num2, $green);
  18. imagestring($img,5,65,rand(1,10),"=", $blue);
  19. imagestring($img,5,80,rand(1,10),"?", $red);
  20. header("content-type:image/png");
  21. imagepng($img);
  22. imagedestroy($img);
  23. }
  24. function getRand(){
  25. $code = rand(0,1);
  26. switch ($code) {
  27. case 0:
  28. return "+";
  29. break;
  30. case 1:
  31. return "-";
  32. break;
  33. default:
  34. # code...
  35. break;
  36. }
  37. }
  38. ?>
复制代码

验证码, PHP