PHP制作注册页面验证码

看了制作验证码的视频,跟着视频做了以下,但是代码都是一样的,为什么我的验证码图片无法正常显示,有谁知道啊,跪求解决方案,下面的代码段和验证码图片
//定义全局变量,用来将生成的验证码传递给register.php页面session_start();//验证码个数for ($i=0;$i<5;$i++){ $_nmsg.=dechex(mt_rand(0,15));};//创建验证码保存在session$_SESSION['code']=$_nmsg;print_r($_SESSION['code']);//定义图片的长和高$_width=75;$_height=25;//创建一张图像$_img=imagecreatetruecolor($_width,$_height );//创建画笔$_white=imagecolorallocate($_img,255,255,255);//用画笔为图像填充颜色imagefill($_img,0,0,$_white);$_flag=false;if($_flag){ //创建边框 $_color=imagecolorallocate($_img,mt_rand(0,255),mt_rand(0,255), mt_rand(0,255)); imagerectangle($_img,0,0,$_width-1,$_height-1,$_color);};//画出随机线条for ($i=0;$i<6;$i++){ $_rnd_color=imagecolorallocate($_img,mt_rand(0,255),mt_rand(0,255), mt_rand(0,255)); imageline($_img,mt_rand(0,$_width),mt_rand(0,$_height),mt_rand(0,$_width),mt_rand(0,$_height),$_rnd_color);};/输出/随机雪花for ($i=0;$i<50;$i++){ $_rnd_color=imagecolorallocate($_img,mt_rand(200,255),mt_rand(200,255), mt_rand(200,255)); imagestring($_img,mt_rand(3,5),mt_rand(1,$_width),mt_rand(1,$_height),'*',$_rnd_color);};//输出验证码for ($i=0;$i<strlen($_SESSION['code']);$i++){ $_rnd_color=imagecolorallocate($_img,mt_rand(0,100),mt_rand(0,150), mt_rand(0,200)); imagestring($_img,mt_rand(3,5),$i*$_width/5+mt_rand(1,10),mt_rand(1,$_height/2),$_SESSION['code'][$i],$_rnd_color);};//输出图像header("Content-Type:image/png");imagepng($_img);//销毁图像imagedestroy($_img);

使用view-source:查看源码会有错误提示,所以导致图片无法正常输出追问

我在网上搜了一下,可能是PHP没有加载gd库导致的。但是我把extension=php_gd2.dll前面的;去了,把extension_dir = "ext"路径改成绝对路径之后,用PHPinfo()还是无法加载gd库。

追答

所以我让你右键查看源码吧错误信息发出来,不然怎么判断具体原因。

另外取消注释之后要重启apache,如果是nginx的话重启php-fpm

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-08-11
看下gd库有没有开启追问

我在网上搜了一下,可能是PHP没有加载gd库导致的。但是我把extension=php_gd2.dll前面的;去了,把extension_dir = "ext"路径改成绝对路径之后,用PHPinfo()还是无法加载gd库。