PHP數字運算驗證碼

jopen 10年前發布 | 746 次閱讀 PHP

    <?php
getValidate(100,30);

function getValidate($w,$h){  
    $img = imagecreate($w,$h);  

    $gray = imagecolorallocate($img,255,255,255);  
    $black = imagecolorallocate($img,rand(0,200),rand(0,200),rand(0,200));  
    $red = imagecolorallocate($img, 255, 0, 0);  
    $white = imagecolorallocate($img, 255, 255, 255);  
    $green = imagecolorallocate($img, 0, 255, 0);  
    $blue = imagecolorallocate($img, 0, 0, 255);  
    imagefilledrectangle($img, 0, 0, 100, 30, $black);  


    for($i = 0;$i < 80;$i++){  
        imagesetpixel($img, rand(0,$w), rand(0,$h), $gray);  
    }  


    $num1 = rand(1,99);  
    $num2 = rand(1,99);  

    imagestring($img, 5, 5, rand(1,10), $num1, $red);  
    imagestring($img,5,30,rand(1,10),getRand(), $white);  
    imagestring($img,5,45,rand(1,10),$num2, $green);  
    imagestring($img,5,65,rand(1,10),"=", $blue);  
    imagestring($img,5,80,rand(1,10),"?", $red);  


    header("content-type:image/png");  
    imagepng($img);  
    imagedestroy($img);  
}  
function getRand(){  
    $code = rand(0,1);  
    switch ($code) {  
        case 0:  
            return "+";  
            break;  
        case 1:  
            return "-";  
            break;  
        default:  
            # code...  
            break;  
    }  
}  

?>  </pre> 


 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!