www.adminn.cn
站长正能量分享网!

PHP验证码生成例子

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

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

使用PHP的GD库扩展类制作验证码的基本步骤:启用php.ini配置文件中的extension=php_gd2.dll扩展,打开php.ini配置文件,去掉行首的分号后重启Apache即可.

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

  1. <?php 
  2. for($i=0;$i<5;$i++){ 
  3.     $suijishu.=dechex(rand(1,15));//使用循环产生一个十六进制格式的五位数 
  4. setcookie("useryzm",$suijishu);//创建一个名为useryzm、值为$suijishu的cookie 
  5. $img=imagecreatetruecolor(100,30);//创建一个宽100高30的图片验证码 
  6. $bg=imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));//定义验证码的背景颜色 
  7. $sc=imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));//定义验证码字体的颜色 
  8. imagestring($img,5,rand(0,50),rand(0,15),$suijishu,$sc);//定义字体的位置(左上角为坐标原点) 
  9. for($k=0;$k<10;$k++){ 
  10.     imageline($img,rand(1,100),rand(1,100),rand(1,100),rand(1,100),$sc);//在验证码上绘制直线(扰乱作用) 
  11.     imagesetpixel($img,rand(1,100),rand(1,30),$sc);//在验证码上绘制点(扰乱作用)//开源软件:phpfensi.com 
  12. ob_clean();//清空输出缓冲区(这句很重要) 
  13. header("Content-type:image/jpeg");//定义输出图片的格式(image/后面可以是jpeg或png或gif等图片格式) 
  14. imagejpeg($img);//输出图象 
  15. imageDestroy($img);//释放内存,完成创建 
  16. ?> 

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

  1. <html> 
  2. … 
  3. <script language="javascript"
  4. function changeyzm(){ 
  5.     var img = document.getElementById("yzmimg").src = "gdyzm.php?id="+Math.random()*10; 
  6.     return ; 
  7. </script> 
  8. … 
  9. <img src="gdyzm.php" name="yzmimg" width="100" height="30" id="yzmimg" title="点击刷新" onclick="changeyzm();" /> 
  10. … 
  11. </html> 

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

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

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《PHP验证码生成例子》
文章链接:https://www.adminn.cn/news/8129.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

扫码支付后请联系右侧QQ发送下载地址!!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏