使用PHP怎么实现一个汉字验证码功能

  介绍

今天就跟大家聊聊有关使用PHP怎么实现一个汉字验证码功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

<强>创建背景画布

image 美元;=,imagecreatetruecolor(200年,60岁);   background 美元;=,imagecolorallocate($形象,,255,,255,,255);   imagefill($形象,,0,0,,背景)美元;

<强>画干扰点

for  (i=0;美元,美元小姐:& lt;, 300;,我+ +美元),{,   pixColor 美元;才能=,imagecolorallocate(形象,美元,兰德(150,,240),兰德(150,,240),兰德(150,,240));   美元才能pixX =,兰德(10,190);   美元才能pixY =,兰德(5,,55);   imagesetpixel才能(形象,美元,pixX美元,调皮捣蛋的美元,美元pixColor);   }

<>强画干扰线

//4条水平线   for  (i=0美元;,美元小姐:& lt;, 5;,我+ +美元),{,=美元才能lineColor  imagecolorallocate(形象,美元,兰德(50,150),兰德(50,150),兰德(50,150));   时间=美元才能lineX1  0;   时间=美元才能lineX2  300;   美元才能lineY1 =,($小姐:+,- 1),*,12;   美元才能lineY2 =,($小姐:+,- 1),*,12;   imageline才能(形象,美元,lineX1美元,lineY1美元,lineX2美元,lineY2美元,美元lineColor);   }//10条垂直线   for  (i=0美元;,美元小姐:& lt;, 30;,我+ +美元),{,=美元才能lineColor  imagecolorallocate(形象,美元,兰德(50,150),兰德(50,150),兰德(50,150));   美元才能lineX1 =,($小姐:+,- 1),*,10;   美元才能lineX2 =,($小姐:+,- 1),*,10;   时间=美元才能lineY1  0;   时间=美元才能lineY2  60;   imageline才能(形象,美元,lineX1美元,lineY1美元,lineX2美元,lineY2美元,美元lineColor);   }

<>强画汉字

text 美元;=,数组(& # 39;栀& # 39;,,& # 39;子& # 39;,,& # 39;花& # 39;,,& # 39;开& # 39;);   for  (i=0美元;,美元小姐:& lt;, 4,,我+ +美元),{=美元才能textColor  imagecolorallocate(形象,美元,兰德(20,100),,兰德(20,100),兰特(20,100));   时间=美元才能textX 美元小姐:*,50,+,10;   美元才能textY =,兰德(40岁,60岁);   值,,imagettftext(形象,美元,30日,兰德(20,,50),textX美元,textY美元,输入textColor美元,“/图书馆/字体/华文仿宋.ttf",,美元文本($ i));   }

这里注意一下,字体文件一定要支持中文的

编码要使用utf - 8, gbk的中文记得要转吗【iconv函数可以帮助你】

<强>输出图像

头(“内容类型:图像/png");   imagepng图像($);

<>强销毁资源

imagedestroy图像($);

经过粗略的搞吧搞吧,中文验证码也就显示出来了,当然一般网站使用的时候会有一个汉字库种子,从里面随机取出特定个数的汉字显示,最后就是记录到会话进行验证了。

使用PHP怎么实现一个汉字验证码功能