PHP使用中文汉字验证码,下面是使用php生成汉字验证码的具体用法和函数代码。
用法如下:
<?phpcreate_excode(4);//生成四个汉字的验证码汉字验证码图片:具体函数代码如下:<?php/** $length 验证码汉字个数*/function create_excode($length){$randChar=array('浩','比','不','惊','静','看','友','前','花','开','龙','落','义','得', '江','无','意','虎','望','天','外','云','卷','市','丁','中','程','人','产','名','仅','余','金','国','美','币','东','木','水','火','土','七','九','八','工','码','图','员','电','大','秒','舒','仁');header('content-type: image/png');$charWidth=30;//每个字符占有的宽度$image_x=$length*$charWidth; //图片宽度$image_y=40; //图片高度$noise_num=100*$length; //杂点数量$line_num=13; //干扰线数量$image=imagecreate($image_x,$image_y);$w=$h=0;//图片款高度初始化imagecolorallocate($image,250,250,250); //设定图片背景颜色//imagecolorallocate($image,0xff,0xff,0xff);//白色背景$rectangle_color=imagecolorallocate($image,0xAA,0xAA,0xAA); //边框颜色$noise_color=imagecolorallocate($image,0x00,0x00,0x00);<b style="color:transparent">本文来源gao@!dai!ma.com搞$$代^@码!网!</b><strong>搞gaodaima代码</strong> //杂点颜色$font_size=18;//字体大小$font_y=29;//字符在Y轴上基线的位置$font_face='heiti.ttf'; //字体//加入杂点for($i=0;$i<$noise_num;$i++){imagesetpixel($image,mt_rand(0,$image_x),mt_rand(0,$image_y),$noise_color);}//生成验证码$x=2;$session_code='';for($i=0;$i<$length;$i++){$font_color=imagecolorallocate($image,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255)); //字体颜色$code=$randChar[mt_rand(0,count($randChar)-1)];imagettftext($image,$font_size,mt_rand(-6,6),$x,$font_y,$font_color,$font_face,$code);$x+=30;$session_code.=$code;}//把验证码的值存放到session中@session_start();$_SESSION['checkCode']=$session_code;for($i=0;$i<$line_num;$i++){$fontcolor=imagecolorallocate($image,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));imagearc($image,mt_rand(-10,$w),mt_rand(-10,$h),mt_rand(30,300),mt_rand(20,200),55,44,$fontcolor);}//www.scutephp.com/for($i=0;$i<255;$i++){$fontcolor=imagecolorallocate($image,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));imagesetpixel($image,mt_rand(0,$w),mt_rand(0,$h),$fontcolor);}imagerectangle($image,0,0,$image_x-1,$image_y-1,$rectangle_color); //加个边框imagepng($image);imagedestroy($image);}