为了账号安全,请及时绑定邮箱和手机立即绑定

这段代码在wamp中实现不了图形验证码?为什么?

这段代码在wamp中实现不了图形验证码?为什么?

PHP
qq_desperado_0 2016-07-01 16:49:26
<?php function a($n,$w,$h){ $img = imagecreatetruecolor($w, $h); $black = imagecolorallocate($img, 0x00, 0x00, 0x00); $green = imagecolorallocate($img, 0x00, 0xFF, 0x00); $white = imagecolorallocate($img, 0xFF, 0xFF, 0xFF); imagefill($img,0,0,$white);//生成随机的验证码 $code = ''; $x = 10 ; $y = 13 ; for($i = 0; $i <n; $i++) {     $tmp = rand(0, 9);     $randcolor = imagecolorallocate($img, rand(0,180), rand(0,180), rand(0,180));//随机色     imagestring($img, 5, $x, $y, $tmp, $randcolor);     $code .= $tmp;     $x += rand(12,25);     $y = 13 + rand(-15, 15);  //加入干扰线         $lx1 = rand(0, 100);     $ly1 = rand(0, 40);     $lx2 = rand(0, 100);     $ly2 = rand(0, 40);     $randcolor = imagecolorallocate($img, rand(0,255), rand(0,255), rand(0,255));     imageline($img,$lx1,$ly1,$lx2,$ly2,$randcolor); }   //加入噪点干扰 for($i=0;$i<50;$i++) {   imagesetpixel($img, rand(0, $w) , rand(0, $h) , $black);    imagesetpixel($img, rand(0, $w) , rand(0, $h) , $green); } //输出验证码 header("content-type: image/png"); imagepng($img); imagedestroy($img); } a(5,100,40);
查看完整描述

1 回答

?
ChinaCJM

TA贡献44条经验 获得超84个赞

在要显示的页面用img标签格式链接显示

比如说,你上面代码放在image.php页面中,要在index.php页面将验证码显示出来的话,就如下

<img src="image.php" />

查看完整回答
1 反对 回复 2016-07-01
  • qq_desperado_0
    qq_desperado_0
    <?php function a($n,$w,$h){ $img = imagecreatetruecolor($w, $h); $black = imagecolorallocate($img, rand(0,255), rand(0,255), rand(0,255)); $green = imagecolorallocate($img, 0x00, 0xFF, 0x00); $white = imagecolorallocate($img, 0xFF, 0xFF, 0xFF); imagefill($img,0,0,$white); //生成随机的验证码 $code = ''; for($i = 0; $i <$n; $i++) { $code .= rand(0, 9).""; $lx1 = rand(0, 100); $ly1 = rand(0, 40); $lx2 = rand(0, 100); $ly2 = rand(0, 40); $randcolor = imagecolorallocate($img, rand(0,255), rand(0,255), rand(0,255)); imageline($img,$lx1,$ly1,$lx2,$ly2,$randcolor); } imagestring($img, 5, 10, 10, $code, $black); //加入噪点干扰 for($i=0;$i<50;$i++) { imagesetpixel($img, rand(0, $w) , rand(0, $w) , $black); imagesetpixel($img, rand(0, $w) , rand(0, $w) , $green); } //输出验证码 header("content-type: image/png"); imagepng($img); imagedestroy($img); } a(5,100,40); 不是吧 上面这段代码就可以直接使用浏览器生成图形验证码了
  • ChinaCJM
    ChinaCJM
    <?php session_start(); function random($len) { $srcstr = "1a2s3d4f5g6hj8k9qwertyupzxcvbnm"; mt_srand(); $strs = ""; for ($i = 0; $i < $len; $i++) { $strs .= $srcstr[mt_rand(0, 30)]; } return $strs; } //随机生成的字符串 $str = random(4); //验证码图片的宽度 $width = 50; //验证码图片的高度 $height = 25; //声明需要创建的图层的图片格式 @ header("Content-Type:image/png"); //创建一个图层 $im = imagecreate($width, $height); //背景色 $back = imagecolorallocate($im, 0xFF, 0xFF, 0xFF); //模糊点颜色 $pix = imagecolorallocate($im, 187, 230, 247); //字体色 $font = imagecolorallocate($im, 41, 163, 238); //绘模糊作用的点 mt_srand(); for ($i = 0; $i < 1000; $i++) { imagesetpixel($im, mt_rand(0, $width), mt_rand(0, $height), $pix); } //输出字符 imagestring($im, 5, 7, 5, $str, $font); //输出矩形 imagerectangle($im, 0, 0, $width -1, $height -1, $font); //输出图片 imagepng($im); imagedestroy($im); $str = md5($str); //选择 cookie //SetCookie("verification", $str, time() + 7200, "/"); //选择 Session $_SESSION["verification"] = $str; ?>
  • 1 回答
  • 0 关注
  • 1242 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信