Home >Backend Development >PHP Tutorial >12306 verification code php Chinese alphanumeric verification code implementation code
English is the same as number
Header("Content-type:image/png");
//Define header, declare image file, preferably png, no copyright interference;
//Generate new four digits Integer verification code
session_start();//Open session;
$authnum_session = '';
$str = 'abcdefghijkmnpqrstuvwxyz1234567890';
//Define the numbers and letters used to display on the picture;
$l = strlen($ str); //Get the length of the string;
//Loop and randomly select four letters and numbers defined previously;
for($i=1;$i<=4;$i++)
{
$num=rand (0,$l-1);
//Randomly select a number each time; from the first word to the maximum length of the string,
//Decrease 1 because the intercepted characters start from 0; so 34 characters Any one may be ranked among them;
$authnum_session.= $str[$num];
//The characters obtained by numbers are connected to a total of four digits;
}
session_register("authnum_session");
// It is also good to use session for verification; register the session and name it authnum_session,
//As long as other pages contain this image
//You can call it through $_SESSION["authnum_session"]
//Generate the verification code image,
srand ((double)microtime()*1000000);
$im = imagecreate(50,20);//Picture width and height;
//Mainly used three colors: black, white and gray;
$black = ImageColorAllocate($im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255);
$gray = ImageColorAllocate($im, 200,200,200);
//Draw the four-digit integer verification code into the image
imagefill($im,68 ,30,$gray);
//If you don’t need interference lines, just comment;
$li = ImageColorAllocate($im, 220,220,220);
for($i=0;$i<3;$i++)
{/ /Add 3 interference lines; it is optional; it depends on the situation, because it may affect user input;
imageline($im,rand(0,30),rand(0,21),rand(20,40),rand (0,21),$li);
}
//The position of the character in the picture;
imagestring($im, 5, 8, 2, $authnum_session, $white);
for($i=0;$i< ;90;$i++)
{//Add interference pixels
imagesetpixel($im, rand()%70 , rand()%30 , $gray);
}
ImagePNG($im);
ImageDestroy($im );
?> er("Content -type: image/png");
//Create image
$im = imagecreatetruecolor(120, 30);
$ChineseChar = array("人","出","来","友","学" , "filial piety", "benevolence", "righteousness", "propriety", "honesty", "loyalty", "guo", "zhong", "yi", "bai", "zhe", "fire "," "Earth", "Gold", "Wood", "Thunder", "Wind", "Dragon", "Tiger", "Heaven", "Earth",
"生"," faint","vegetable","bird" ", "field", "three", "hundred", "money", "blessing", "love", "love", "beast", "worm", "fish", "nine", "net", "New", "Du", "Hey", "Alas", "Ah", "Oh", "Yi", "Old", "Shao", "日",
"Moon", "Star");
//Create color
$fontcolor = imagecolorallocate($im, 255, 255, 255);
$bg = imagecolorallocate($im, 0, 0, 0);
//Set text
for($i=0; $i<4;$i++) $text .= $ChineseChar[(array_rand($ChineseChar))];
$_SESSION['code'] = $text;
// Set font [url]http://www. font.com.cn/downlist/s_12_3.html[/url] There are _GBK series fonts to download, which are generally supported by GD libraries!
$font = 'gbk.ttf';
// Add text
imagettftext($im , 18, 0, 11, 21, $fontcolor, $font, iconv("GB2312","UTF-8",$text));
// Output image
imagepng($im);
imagedestroy($im) ;
?>
The above introduces the 12306 verification code PHP Chinese alphanumeric verification code implementation code, including the content of the 12306 verification code. I hope it will be helpful to friends who are interested in PHP tutorials.