首页 php教程 php手册 PHP验证码生成例子

PHP验证码生成例子

May 25, 2016 pm 04:44 PM

一个非常简单的PHP验证码生成例子,在这个PHP验证码生成我们需要使用到php_gd2.dll扩展了,下面我就来给大家整个例子了,希望对各位朋友会带来帮助哦。

使用PHP的GD库扩展类制作验证码的基本步骤:

启用php.ini配置文件中的extension=php_gd2.dll扩展(打开php.ini配置文件,去掉行首的分号后重启Apache即可);

下面是PHP生成验证码的代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<?php

for($i=0;$i<5;$i++){

    $suijishu.=dechex(rand(1,15));//使用循环产生一个十六进制格式的五位数

}

setcookie("useryzm",$suijishu);//创建一个名为useryzm、值为$suijishu的cookie

$img=imagecreatetruecolor(100,30);//创建一个宽100高30的图片验证码

$bg=imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));//定义验证码的背景颜色

$sc=imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));//定义验证码字体的颜色

imagestring($img,5,rand(0,50),rand(0,15),$suijishu,$sc);//定义字体的位置(左上角为坐标原点)

for($k=0;$k<10;$k++){

    imageline($img,rand(1,100),rand(1,100),rand(1,100),rand(1,100),$sc);//在验证码上绘制直线(扰乱作用)

    imagesetpixel($img,rand(1,100),rand(1,30),$sc);//在验证码上绘制点(扰乱作用)

}

ob_clean();//清空输出缓冲区(这句很重要)

header("Content-type:image/jpeg");//定义输出图片的格式(image/后面可以是jpeg或png或gif等图片格式)

imagejpeg($img);//输出图象

imageDestroy($img);//释放内存,完成创建

?>

登录后复制

下面是HTML中调用验证码的代码:

1

2

3

4

5

6

7

8

9

10

11

12

<html>

...

<script language="javascript">

function changeyzm(){

    var img = document.getElementById("yzmimg").src = "gdyzm.php?id="+Math.random()*10;

    return ;

}

</script>

...

<img  src="/static/imghw/default1.png"  data-src="gdyzm.php"  class="lazy"   name="yzmimg"    style="max-width:90%"  style="max-width:90%" id="yzmimg" title="点击刷新" onclick="changeyzm();" / alt="PHP验证码生成例子 " >

...

</html>

登录后复制

如果出现"图像“XXXX”因其本身有错无法显示"的错误,很可能是漏了ob_clean();这句,或是文件的物理编码出了问题(修改物理编码的方法可以参考PHP创建utf8文件)

如果没有加ob_clean();这句,在本地测试且物理编码为ANSI时没问题,物理编码为UTF-8时则会报错(图像“XXXX”因其本身有错无法显示)


教程链接:

随意转载~但请保留教程地址★

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)