手机版

PHP5中的GD库生成图形验证码(带汉字)

时间:2021-11-17 来源:互联网 编辑:宝哥软件园 浏览:

由PHP5 中的GD库生成图形验证码。

类似如下:1。使用GD库函数生成图片,在图片上写入指定的字符imagecreatetruecolor创建一个新的真彩色图像imagecolorallocate为图像图像字符串分配颜色(调色板)绘制字符imageline绘制线条imagesetpixel制作像素;2.输出图片image JPEG($ img);PHP的实现过程,在代码中详细注释,这里不做过多解释。verify.php复制了如下代码。PHP//1 . qi enabled GD Library GD Library提供了一系列处理图片的API,可以用来处理图片或者生成图片。//GD库通常用于在网站上生成缩略图,或者对图片进行水印处理,或者对网站数据生成报表。session _ start();//将GBK编码的字符串转换为UTF-8字符串。第一个参数被写成GBK的原因是存储在这个php文件的主机中的编码是GBK编码。//UTF-8编码浏览器普遍支持,通用性很强。在这里,它被转换成UTF-8 $ str=iconv(‘GBK’,‘utf-8’,‘所有的人、青山、景点和历史遗迹都将以开放的心态笼罩。if(!is_string($str) ||!Mb _ check _ encoding ($ str,' utf-8 '){ exit('不是字符串或utf-8 ');} $ zhuin ku _ size;//根据UTF-8编码获取字符串的长度$ chinwenku _ size=MB _ strlen($ str,' utf-8 ');//将上面的字符导入数组$中卫库=array();for($ I=0;$ i $中文库_ size$i){ $中卫库[$i]=mb_substr($str,$ I,1,' UTF-8 ');} $ result=//图片中要写的四个字符为($ I=0;$ i4$i ) { switch (rand(0,1)) { case 0: $result。=$中卫库[rand(0,$中卫库_ size-1)];打破;案例1:美元结果。=dechex(rand(0,15));打破;} } $ _ SESSION[' check ']=$ result;//创建宽度为100、高度为30的真彩色图片$ img=imagecreate truecolor (100,30);//分配背景色$ BG=imagecolorclocate($ img,0,0,0);//分配文本颜色$ te=imagecolorclocate($ img,255,255,255);//在图片上写一个字符串//imagestring ($ img,rand (3,8),rand (1,70),rand (1,10),$ result,$ te);//根据加载的字体,可以写特殊字体imagettftext ($ img,13,rand (2,9),20,20,$ te,' msyh。图片上的TTF ',$ result);$ _ SESSION[' check ']=$ result;for($ I=0;$ i3$ I){/$ t=imagecolor allocate($ img,rand(0,255),rand(0,255),rand(0,255));//画线imageline ($ img,0,rand (0,20),rand (70,100),rand (0,20),$ te);} $t=imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));//为图片添加噪点($ I=0;$ i200$i ) { imagesetpixel($img,rand(1,100),rand(1,30),$ t);}//发送http头信息指定本次发送图像中的JPEG头(' content-type : image/JPEG ');//将jpeg图像输出到浏览器image JPEG($ img);Submit.php复制代码如下:PHP session _ start();if(@ $ _ post[' check ']){ if($ _ post[' check ']=$ _ session[' check ']){ echo '恭喜!验证码输入正确!}else{ echo '抱歉,验证码输入不正确';} } ?action=' method=' post ' img src=' http : verify . PHP '/br input type=' text ' name=' check '/br input type=' submit ' value=' submit '/br/MRYH . TTF在表单代码中是您要设置的字体。

版权声明:PHP5中的GD库生成图形验证码(带汉字)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。