PHP实现图片验证码【加减乘除】

public function getImgVerify(){
    ob_end_clean();
    $im = imagecreatetruecolor( 150 ,50 );

    $white = imagecolorallocate( $im , 255 , 255 ,255);
    $grey = imagecolorallocate($im ,0 , 0,0);
    $black = imagecolorallocate($im , rand(1,255) , rand(1,255) , rand(1,255));
    imagefill($im,0,0,$grey);
    $rand = rand( 1 , 4);
    $one = rand( 1 ,9);
    $two = rand(1 ,9);
    if( $rand == 1){
        $result = $one + $two;
        $text = $one . "+" . $two . "=?";
    }else if( $rand == 2){
        if($one < $two){
            list( $two , $one) = [ $one ,$two];
        }
        $result = $one - $two;
        $text = $one . "-" . $two . "=?";
    }else if( $rand == 3){
        $result = $one * $two;
        $text = $one . "*" . $two . "=?";
    }else if($rand == 4){
        $res = $one * $two ;
        $result = $res / $one ;
        $text = $res . "/" . $one . "=?";
    }

    session_start();
    $_SESSION['vcode'] = $result;

    $font = './ArvoRegular.ttf';

    $i = 0;
    $len = strlen( $text );
    while( $i < $len  ) {
        if (is_numeric($text[$i])) {
            imagettftext($im, 20, rand(-45, 45), 20 * ($i + 1), 30, $black, $font, $text[$i]);
        } else {
            imagettftext($im, 20, 0, 20 * ($i + 1), 30, $black, $font, $text[$i]);
        }
        //echo $text[$i];
        $i++;
    }
    header("Content-type: image/png");
    #var_dump(imagepng($im));exit;
    imagepng($im);
    imagedestroy($im);
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值