PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)

时间:2022-03-05 12:03:40

这是利用GD库生成验证码的页面

test.PHP

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
header('Content-Type:image/jpeg');
 $img = imagecreatetruecolor(100, 40);
 $black = imagecolorallocate($img, 0x00, 0x00, 0x00);
 $green = imagecolorallocate($img, 0x00, 0xFF, 0x00);
 $white = imagecolorallocate($img, 0xFF, 0xFF, 0xFF);
 imagefill($img,0,0,$white); //生成随机的验证码
 $code = '';
 for($i = 0; $i < 4; $i++) { $code .= rand(0, 9); }
 imagestring($img, 5, 10, 10, $code, $black);
 //加入噪点干扰
 for($i=0;$i<50;$i++) {
  imagesetpixel($img, rand(0, 100) , rand(0, 100) , $black);
  imagesetpixel($img, rand(0, 100) , rand(0, 100) , $green);
 } //输出验证码 header("content-type: image/png");
 imagepng($img);
 imagedestroy($img);
?>

这是点击验证码或看不清之后可实现局部刷新验证码

test2.php

?
1
2
3
4
5
6
7
8
9
<script type="text/javascript">
 function shuaxin()
 {
  document.getElementById('code').src = "test.php?"+Math.random();
 }
</script>
<input type="text"><br />
<img id="code" src="test.php" onclick="shuaxin()" />
<span onclick="shuaxin()">看不清?</span><br />

如下图所示:

PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)

总结

以上所述是小编给大家介绍的PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://blog.csdn.net/ougexingfuba/article/details/77185704