Home  >  Article  >  Backend Development  >  关于php生成验证码解决方案

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

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

关于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 不行那估计是你环境的问题了 我这边测试是没有问题的
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn