Heim  >  Artikel  >  Backend-Entwicklung  >  关于php生成验证码解决方案

关于php生成验证码解决方案

WBOY
WBOYOriginal
2016-06-13 11:54:58854Durchsuche

关于php生成验证码
代码如下

<?php     <br />  Header("Content-type: image/PNG"); <br />srand((double)microtime()*1000000);//播下一个生成随机数字的种子,以方便下面随机数生成的使用<br />session_start();//将随机数存入session中<br />$_SESSION['authnum']="";<br />$im = imagecreate(70,20) or die("Cant's initialize new GD image stream!");  //制定图片背景大小<br />$black = ImageColorAllocate($im, 0,0,0); //设定三种颜色<br />$white = ImageColorAllocate($im, 255,255,255); <br />$gray = ImageColorAllocate($im, 200,200,200);<br /><br />imagefill($im,0,0,$gray); //采用区域填充法,设定(0,0)<br /><br />//生成数字和字母混合的验证码方法<br />$ychar="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";<br />$list=explode(",",$ychar);<br />for($i=0;$i<4;$i++){<br /> $randnum=rand(0,35);<br /> $authnum.=$list[$randnum];<br />}<br /><br />//while(($authnum=rand()%100000)<10000); //生成随机的五们数<br />//将五位整数验证码绘入图片 <br />$_SESSION['authnum']=$authnum;<br /><br />imagestring($im, 5, 10, 3, $authnum, $black);<br />// 用 col 颜色将字符串 s 画到 image 所代表的图像的 x,y 座标处(图像的左上角为 0, 0)。<br />//如果 font 是 1,2,3,4 或 5,则使用内置字体<br /><br />for($i=0;$i<200;$i++) //加入干扰象素 <br />{ <br />$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));<br />imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); <br />} <br />ImagePNG($im); <br />ImageDestroy($im); <br />?><br />


而且gd库也开了,但是图片就是不生成。。求大家指教
------解决方案--------------------

引用:
已经开启了啊。。

代码没问题的啊  你先把$_SESSION['code'] = $verifyCode;注释掉 应该没开session 不行那估计是你环境的问题了 我这边测试是没有问题的
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn