세 종류의 PHP 자습서 한자 영어 검증 코드 생성 프로그램
$ChineseChar 분해 = (',', "사람들, 밖으로와 서, 친구, 배우고, 효 자비의 예, 낮은, 충성, 국가, 매체, 쉬운, 흰색, 화재, 킹, 금, 목재, 천둥, 바람, 용, 호랑이, 일, 지구, 생명, 헤일로, 야채, 새, 분야, 3, 백, 돈, 축복, 사랑, 느낌, 짐승, 벌레, 물고기, 9, 인터넷, 새로운, 학위, 어, 아 아, 아, 아, 미리 암, 오래 된, 작은, 날, 달, 별, 켄, 각, 쳉 ");
$k [0] = $ChineseChar [Array_rand ($ChineseChar)];
$k [1] = $ChineseChar [Array_rand ($ChineseChar)];
$k [2] = $ChineseChar [Array_rand ($ChineseChar)];
$k [3] = $ChineseChar [Array_rand ($ChineseChar)];
$cookie _str = 파 (", $k);
Setcookie ('vrify', MD5 ($cookie _str), 시간 (600));
$str [0] = iconv ('gb2312', ' u t F-8 ', $k [0]);
$str [1] = iconv ('gb2312', ' u t F-8 ', $k [1]);
$str [2] = iconv ('gb2312', ' u t F-8 ', $k [2]);
$str [3] = iconv ('gb2312', ' u t F-8 ', $k [3]);
//Constructed 이미지
$x _size = 100;
$y _size = 25;
$font = 'Simhei.ttf';
$pic = imagecreate ($x _size, $y _size);
$background _color = imagecolorallocate ($pic, 255, 255, 255);
$FOREGROUNDARR = 배열 (imagecolorallocate ($pic, 랜드 (0), 랜드 (0), 랜드 (0, 20)),
imagecolorallocate ($pic, 랜드 (0), 랜드 (0, 10), 랜드 (245, 255)),
imagecolorallocate ($pic, 랜드 (245, 255), 랜드 (0), (0, 10) 랜드),
Imagecolorallocate ($pic, 랜드 (245, 255), 랜드 (0), 랜드 (245, 255));
Imagettftext ($pic, Mt_rand (12,15), Mt_rand (-8,8), 6, mt_rand (19,22), $foregroundArr [랜드 (0, 3)], $font, $str [0]);
Imagettftext ($pic, Mt_rand (15,17), Mt_rand (-8,8), 26,20, $foregroundArr [랜드 (0, 3)], $font, $str [1]);
Imagettftext ($pic, Mt_rand (12,15), Mt_rand (-8,8), 46,20, $foregroundArr [랜드 (0, 3)], $font, $str [2]);
Imagettftext ($pic, Mt_rand (15,17), Mt_rand (-8,8), 66, mt_rand (19,22), $foregroundArr [랜드 (0, 3)], $font, $str [3]);
대 한
($i = 0 $i < 80; $i + +)
{
$pointcol = Imagecolorallocate ($pic, 랜드 (0,255), 랜드 (0,255), 랜드 (0,255));
Imagesetpixel ($pic, 랜드 (2, $x _size-2), 랜드 (2, $y _size-2), $pointcol);
}
$border = Imagecolorallocate ($pic, 133, 153, 193);
Imagerectangle ($pic, 0, 0, $x _size-1, $y _size-1, $border);
imagepng ($pic);
Imagedestroy ($pic);
? >
<? php
session_start ();
session_set_cookie_params (0, '/');
$ENABLEGD = 1;
$funcs = 배열 ('Imagecreatetruecolor', 'imagecolorallocate', 'Imagefill', 'imageline', 'Imagedestroy', ' Imagecolorallocatealpha ',' imageellips 튜토리얼 e ',' imagepng ');
foreach ($func로 $funcs)
{
경우 (! function_exists ($func))
{
$ENABLEGD = 0;
브레이크;
}
}
경우 (! function_exists ('Ob_gzhandler')) Ob_clean ();
경우 ($ENABLEGD)
{
//create captcha
$consts = 'cdfgkmnpqrstwxyz23456';
$vowels = 'aek23456789';
위한 ($x = 0; $x < 6 $x + +)
{
& nb sp; $const [$x] substr ($consts, Mt_rand (0 = strlen ($consts)-1), 1);
$vow [$x] = substr ($vowels, Mt_ 랜드 (0, strlen ($vowels)-1), 1);
}
$radomstring = $const [0]. $vow [0]. $const [2]. $const [1]. $vow [1]. $const [3] . $vow [3]입니다. $const [4];
$_session [' checkcode ' = $string = substr ($radomstring, 0, 4); //only 디스플레이 4 STR
이미지, 전나무를 //setT 수 너비 이며 두 번째는 높이
$imageX strlen ($radomstring) = * 8, //the 이미지 폭
$imageY = 20; //the 이미지 높이