利用PHP 简单实现加减法验证码

Posted 指尖飞扬的代码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用PHP 简单实现加减法验证码相关的知识,希望对你有一定的参考价值。

<?php
 
header(‘Content-Type: image/png‘);
$im = imagecreatetruecolor( 200 , 50 );
//生成图片长宽 // Create some colors $white = imagecolorallocate($im, 255, 255, 255); $grey = imagecolorallocate($im, 128, 128, 128); $black = imagecolorallocate($im, 0, 0, 0);//背景色 imagefilledrectangle($im, 0, 0, 200, 49, $white); // The text to draw $rand = rand( 1 ,2 ) ; $one = rand(1,9); $two = rand(1,9); if( $rand == 1 ){ $result = $one + $two; $text = "$one+$two=?"; }else{ if( $one < $two ){ list( $two , $one ) = [ $one , $two ]; } $result = $one - $two; $text = "$one-$two=?"; } session_start(); $_SESSION[‘code‘] = $result; // Replace font $font = ‘./Arvo-Regular.ttf‘; //imageline( $im , 0 , rand( 1,49 ) , 199 , 30 , $grey ); //干扰线
// Add the text $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 ++; } // Using imagepng() results in clearer text compared with imagejpeg() imagepng($im); imagedestroy($im);

  如果生成图片为空,请检测字体引入路径是否有问题。

以上是关于利用PHP 简单实现加减法验证码的主要内容,如果未能解决你的问题,请参考以下文章

利用PHP内置函数制作一个简单的验证码

php实现验证码(数字字母汉字)

PHP算式验证码和汉字验证码的实现方法

ThinkPHP 3.2.3 加减乘法验证码类

超简单的PHP验证码识别

php生成各种验证码