三種php教程漢字英文驗證代碼生成程式
$ChineseChar = explode(',',"人,出,來,友,學,孝,仁,義,禮,廉,忠,國,中,易,白,者,火 ,王,金,木,雷,風,龍,虎,天,地, 生,暈,菜,鳥,田,三,百,錢,福 ,愛,情,獸,蟲,魚, 九,網,新,度,哎,唉,啊,哦,儀,老,少,日, 月 ,星,肯,各,程");
$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=implode('', $k);
setcookie('vrify',md5($cookie_str),time()+600);
$str[0]=iconv('gb2312','UTF-8',$k[0]);
$str[1]=iconv('gb2312','UTF-8',$k[1]);
$str[2]=iconv('gb2312','UTF-8',$k[2]);
$str[3]=iconv('gb2312','UTF-8',$k[3]);
//構造圖像
$x_size=100;
$y_size=25;
$font='simhei.ttf';
$pic=imagecreate($x_size,$y_size);
$background_color = imagecolorallocate ($pic, 255, 255, 255);
$foregroundArr = array(imagecolorallocate($pic, rand(0, 20), rand(0, 20), rand(0, 20)),
imagecolorallocate($pic, rand(0, 20), rand(0, 10), rand(245, 255)),
imagecolorallocate($pic, rand(245, 255), rand(0, 20), rand(0, 10)),
imagecolorallocate($pic, rand(245, 255), rand(0, 20), rand(245, 255)));
imagettftext($pic,mt_rand(12,15),mt_rand(-8,8),6,mt_rand(19,22),$foregroundArr[rand(0,3)],$font,$str[0]);
imagettftext($pic,mt_rand(15,17),mt_rand(-8,8),26,20,$foregroundArr[rand(0,3)],$font,$str[1]);
imagettftext($pic,mt_rand(12,15),mt_rand(-8,8),46,20,$foregroundArr[rand(0,3)],$font,$str[2]);
imagettftext($pic,mt_rand(15,17),mt_rand(-8,8),66,mt_rand(19,22),$foregroundArr[rand(0,3)],$font,$str[3]);
for ($i=0;$i<80;$i++)
{
$pointcol = imagecolorallocate($pic, rand(0,255), rand(0,255), rand(0,255));
imagesetpixel($pic,rand(2,$x_size-2),rand(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 = array('imagecreatetruecolor','imagecolorallocate','imagefill','imageline','imagedestroy',' imagecolorallocateAlpha','imageellips教程e','imagepng');
foreach($funcs as $func)
{
if(!function_exists($func))
{
$enablegd = 0;
break;
}
}
if(!function_exists('ob_gzhandler')) ob_clean();
if($enablegd)
{
//create captcha
$consts = 'cdfgkmnpqrstwxyz23456';
$vowels = 'aek23456789';
for ($x = 0; $x < 6; $x++)
{
&nb sp; $const[$x] = substr($consts, mt_rand(0 ,strlen($consts)-1),1);
$vow[$x] = substr($vowels, mt_ rand(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 display 4 str
//set up image, the first number is the width and the second is the height
$imageX = strlen($radomstring) *8; //the image width
$imageY = 20; //the image height